ASP.NET MVC 앱을 만들고 있습니다. 은 내가 반환 값 내 스레드 에 대한 치료를 해달라고하는 이벤트가 발생할 때 몇 스레드를 생성하고 싶었 내가 첨부, 내가 ThreadPool.QueueUserWorkItem를 사용하고ThreadPool.QueueUserWorkItem을 올바르게 사용하고 있습니까?
public event SomeEventHandler SomeEvent;
private void SomeEventhappened(UserProfile arg)
{
SomeEventHandler handler = SomeEvent;
if (handler != null)
{
// handler(currentUser);
foreach (SomeEventHandler wc in handler.GetInvocationList())
{
SomeEventHandler wc2 = wc;
ThreadPool.QueueUserWorkItem(
delegate { wc2(arg); }
);
}
}
}
를 때문에 비동기 호출을하고 싶었 행사
에 이벤트 핸들러 함수는이
this.SomeEventhappened(userProfile); //Here the event is raised
위의 모든 코드가 같은 클래스에서 어떤 일이 일어나고, 나는 이벤트를 발생시킬 방법이다. 이벤트 처리기 함수 만 다른 클래스에 있습니다. 완료 후 스레드를 죽여야합니까? 내가 잘못한 것을 제안하면 제발.
무엇 그냥 "호출"호출에 대해, AsyncController가 직접 ThreadPool이를 사용하는 대신을 활용해야하는 ASP.NET MVC 2에 있다고 생각? –