【发布时间】:2010-12-31 12:45:26
【问题描述】:
我正在开发一个 ASP.NET MVC 应用程序。 我想在事件发生时产生几个线程,我不在乎返回值 我的线程,我想进行异步调用,所以我正在使用 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
以上所有代码都发生在同一个类中。只有事件处理函数在其他类中 完成后我需要杀死我的线程吗? 如果我做错了什么,请建议我。
【问题讨论】:
-
只调用“Invoke”怎么样?
标签: c# asp.net-mvc multithreading queueuserworkitem