asp.net中的多线程

Lar*_*rod 9 asp.net multithreading

在asp.net中你需要注意什么样的多线程问题?

Eri*_*ard 9

从ASP.NET页面的代码隐藏产生线程是有风险的,因为工作进程偶尔会被回收并且你的线程会死掉.

如果由于用户在网页上的操作而需要启动长时间运行的进程,最好的办法是在MSMQ中关闭一条消息,并让一个单独的后台服务监视队列.只要它想完成任务,该服务就可以使用,并且网页几乎可以立即完成其工作.您可以通过对Web方法的异步调用来完成相同的操作,但不要依赖于在Web方法完成工作时获取响应.从代码隐藏,它需要快速点火.


kem*_*002 6

有一件事要注意过期的事情(我认为httpContext会这样做),如果你将它用于"火与忘记"的操作,请记住,如果asp.net清理代码在你的操作完成之前运行的话,您将无法访问某些信息.


Gul*_*zim 0

程序化缓存是我立即想到的一个领域。这是一个很棒的功能,需要谨慎使用。由于它是跨请求共享的,因此您必须在更新它之前对其加锁。

我要检查的另一个地方是访问文件系统的任何代码,例如写入日志文件。如果一个请求对某个文件有读写锁,那么其他并发请求如果处理不当就会出错。