我有一个C#ASP.NET Web应用程序,它启动一个在名为SiteCrawler.cs
的类中运行某些方法的线程。
在HttpContext.Current.Application
中,我想在所有线程完成运行时保存一些值。我的问题是,HttpContext.Current
对象在生成的线程中是null
,因为它不存在。
我试图搜索Stackoverflow的每一寸都找到一个解决方案,但没有任何运气....
答案 0 :(得分:0)
我建议在生成线程时将HttpContext作为参数传递。就个人而言,我将删除您对HttpContext的依赖,并创建一个对象,其作用是同步您的线程(或存储其结果),并可用于在并行处理完成后执行后处理。
HttpContext.Current.Application是一个单例,它将存在于所有线程中...这是一个Web应用程序吗?如果不是,您可以自己初始化应用程序并将其分配给HttpContext.Current.Application。