![]() |
1
14
我尽量不保存对依赖于ASP.NET堆栈的对象(如httpContext)的引用。如果您需要在不同的线程中做一些工作,那是因为您不想在ASP.NET线程中等待任务完成。也许请求/上下文/会话是在线程没有终止的情况下终止的。 您应该传递一个具有线程所需数据的对象。 |
![]() |
2
36
您可以使用 httpruntime.缓存 即使您没有httpContext,但不幸的是您无法访问服务器或请求。 如果你考虑一下,这是有意义的-你没有提供任何页面,所以你没有一个请求。 |
![]() |
3
3
1-添加底部代码
2-在Web服务文件中的命名空间后添加底部代码:
3-重建Web部件项目。 完成! |
![]() |
4
1
对于httpContext.server服务,可以使用httpServerUtility类。 对于缓存,您可以使用httpruntime.cache,如上所述。 对于请求对象,可以在创建时将数据从请求传递到线程。例如request.querystring或request.form…或者什么。 |
![]() |
5
1
有一个线程池实现 here 它提供调用线程的HTTP上下文的传播。我还没用过,但我打算用。 |
![]() |
6
0
如果单独的线程试图访问这些对象,那么它们将为空。这些对象的作用域在线程级别。如果要在新线程中使用它们,则必须将它们传递到需要它们的方法/类中。 通常ASP.NET不允许生成新线程…这里是一个 post 关于这个问题。 这是一篇好文章 threading in ASP.NET from MSDN . |
![]() |
Chan Yoong Hon · 导航到新页面并显示警报框 7 年前 |
|
chapas · 注入到不同的项目/程序集中 8 年前 |
![]() |
shannon · GetHashCode只是这里的货物崇拜吗? 12 年前 |