2011-03-18 1 views
0

(asp.net 2.0, C#을)asp.net 스레드 : 그들에게 시작한 사용자에 기인

나는 것 스레딩 구현해야

:

  1. 기인 한 스레드를 시작한 사용자를 (예 : 콜백에서 ID 또는 스레드 이름을 사용하여 이전에 사용자가 시작한 스레드를 찾을 수 있음).
  2. 스레드가 완료되면 콜백은 스레드를 검색하고 스레드가 완료되었음을 알 수 있어야합니다.
  3. 마지막으로, 스레드가 예를 들어 1 분 이상 동안 활성화되어 있으면 스레드가 자동으로 종료되어야합니다.

꽤 많이 읽었으며 위의 요구 사항 (1) 때문에 개인적으로 스레드 (예 : asp.net 스레드 풀을 사용할 수 없음)를 관리해야한다는 것을 알았습니다. 나는 C#의 Thread 클래스가 ID 속성을 가지고 있다는 것을 알아 차렸다. ID가 요구 사항 (1)을 구현하는 데 사용될 수 있습니까 (ID가 항상 고유한지 여부는 모르겠습니다).

Btw, 나는 asp.net이 특정 지점에서 스레드를 종료 할 수 있음을 이해합니다. 기본적으로, 사용자의 세션이 지워지면 언제나 내 스레드는 쓸모가 없습니다. 스레드가 실패하거나 어떤 이유로 든 종료되는 경우 작업이 다시 시작되므로 문제가 없습니다. 주로 사용자가 시작된 스레드를 찾을 수있는 방법을 찾는 것에 관심이 있습니다. 세션에 ID 속성을 저장하여이 작업을 수행 할 수 있습니까? 또한, 그렇다면 실제로 해당 스레드를 찾기 위해 해당 속성을 사용하려고 어떻게해야합니까? 그렇지 않다면 내가 묻고있는 것을 수행하기 위해 권장되는 방법은 무엇입니까? 감사.

+0

? 쓰레드는 ASP.NET에 의해 재사용되므로 특정 쓰레드에 속성을 부여하는 것은 의미가 없습니다. –

답변

0

IIS에서 ASP.Net 스레드를 식별합니다. 스레드를 직접 관리 할 필요가 없습니다. 이를 찾기 위해 당신을 몰고 진짜 이유가 무엇 당신은 HttpContext.User로 인증 방법 (링크 1) 또는 explicty 장소 IPrincipal 개체를 조정해야 할 수도 있습니다 (링크 2)

IIS Blog

MSDN article

관련 문제