asp.net - HttpContext 为 NULL

标签 asp.net multithreading thread-safety httpcontext

HttpContext.Current 在回调上或在不同的线程上时为 null。我该如何解决这个问题。 我见过几个例子,他们说

LocalDataStoreSlot slot = Thread.GetNamedDataSlot("SlotName");
 return (HttpContext)Thread.GetData(slot);

它不起作用......而且老实说它没有多大意义。

有什么建议吗?

最佳答案

您需要将 HttpContext 对象传递到启动线程的对象中:

例如

var task = Task.Factory.StartNew(
        state =>
        {
            var context = (HttpContext)state;
            //do your stuff here
        },
    HttpContext.Current);

马丁

关于asp.net - HttpContext 为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515773/

相关文章:

c - 无法在我的多线程程序中找到错误?

java - 如何像 Vector 一样将 ArrayList 大小增加到 100%

javascript - GridView 中自动完成用户控件的 SelectedValue 属性

asp.net - 找不到模块 '@angular/core' Visual Studio 2017

c# - ASP MVC 应用程序在长时间运行的线程上重置

python - 如何同步对存储数据的访问?

java - SurfaceView和线程已经启动异常

c# - 需要在netMQ中使用inproc保持一个线程接收消息还是有更好的方法?

java - 多次运行 SwingWorker

java - sleep() 方法如何在给定线程和输出上工作?