.net ThreadLocal与IHttpModule结合使用

.net ThreadLocal与IHttpModule结合使用,.net,thread-local-storage,ihttpmodule,.net,Thread Local Storage,Ihttpmodule,我一直在一个webproject中玩,我在一个HttpModule中希望准备一些数据,以便在以后的阶段中使用不同的类 在公共静态可访问线程本地存储中公开该数据安全吗 即 但我找不到任何文件来保证这是一种有保证的行为 这样行吗?或者我应该以另一种方式得到这种行为 (不用说,我自己在以后的状态下启动的任何线程都会断开与TLS的连接。)我很确定没有任何保证——ASP.NET(包括MVC)使用的线程本地存储不能很好地发挥作用。如果可以的话,最好改用。明白了。但是我可以使用公共静态A Current{ge

我一直在一个webproject中玩,我在一个HttpModule中希望准备一些数据,以便在以后的阶段中使用不同的类

在公共静态可访问线程本地存储中公开该数据安全吗

但我找不到任何文件来保证这是一种有保证的行为

这样行吗?或者我应该以另一种方式得到这种行为


(不用说,我自己在以后的状态下启动的任何线程都会断开与TLS的连接。)

我很确定没有任何保证——ASP.NET(包括MVC)使用的线程本地存储不能很好地发挥作用。如果可以的话,最好改用。明白了。但是我可以使用公共静态A Current{get{return(A)HttpContext.Current.Items[“A”];}}您可能应该首先检查示例,了解如何首先使用
ThreadLocal
。您为什么认为我不知道如何使用ThreadLocal?这个问题实际上和IIS线程模型更相关。这里有我没有得到的提示吗?我很确定没有保证——ASP.NET,包括MVC,使用的线程本地存储不太好。如果可以的话,最好改用。明白了。但是我可以使用公共静态A Current{get{return(A)HttpContext.Current.Items[“A”];}}您可能应该首先检查示例,了解如何首先使用
ThreadLocal
。您为什么认为我不知道如何使用ThreadLocal?这个问题实际上和IIS线程模型更相关。有没有暗示我没有到这里来?
public static ThreadLocal<A> storage = new ThreadLocal<A>();

private void Application_BeginRequest(Object source, EventArgs )
{
    storage.Value = new A();
}
public ActionResult Index()
{
    var o = module.storage;
    if (o.IsValueCreated)
    {
        // WORX
    }
    return View();
}