c# – 如何从CLR线程池而不是ASP.NET池创建ASP.NET页面中的线程?

c# – 如何从CLR线程池而不是ASP.NET池创建ASP.NET页面中的线程?,第1张

概述如果我在ASP.NET页面创建一个新线程,则IsThreadPoolThread属性为true. 第一个问题是,它来自ASP.NET池还是CLR池? 第二个问题是,如果是来自ASP.NET池那么如何从CLR创建一个线程而不使用ASP.NET池? 我需要一个长期运行请求的同步解决方案( full story). 首先,ASP.NET线程池和CLR线程池之间没有区别. ASP.NET处理CLR线程池 如果我在ASP.NET页面上创建一个新线程,则IsThreadPoolThread属性为true.
第一个问题是,它来自ASP.NET池还是CLR池?
第二个问题是,如果是来自ASP.NET池那么如何从CLR创建一个线程而不使用ASP.NET池?
我需要一个长期运行请求的同步解决方案( full story).解决方法 首先,ASP.NET线程池和CLR线程池之间没有区别. ASP.NET处理CLR线程池上的页面,因此您的ASP.NET页面将始终具有IsThreadPoolThread == true.

我很好奇你是如何创建你的线程的.您使用的是System.Threading.Thread构造函数,还是使用ThreadPool.QueueUserWorkItem?如果您使用的是ThreadPool.QueueUserWorkItem,那么您获得的线程来自常规的.net线程池.

最后,正如我有posted before,从ASP.NET中尝试长时间运行的任务总是一个坏主意.我的一般建议是使用后台windows服务来处理这些请求,因为ASP.NET可以随时终止后台线程.如果您必须在IIS中执行此 *** 作,请在此处提供更多详细信息:http://csharpfeeds.com/post/5415/Dont_use_the_ThreadPool_in_ASP.NET.aspx

总结

以上是内存溢出为你收集整理的c# – 如何从CLR线程池而不是ASP.NET池创建ASP.NET页面中的线程?全部内容,希望文章能够帮你解决c# – 如何从CLR线程池而不是ASP.NET池创建ASP.NET页面中的线程?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1224512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存