我需要一些HttpApplication本地存储。我认为ApplicationState就是用来做这件事的地方,但显然这可能是在应用程序域中的HttpApplication实例之间共享的。
public class MyHttpModule : IHttpModule
{
private object initializingLock = new object();
private static HttpApplication last;
public void Init(HttpApplication context)
{
lock (initializingLock)
{
// always is false, as expected
if (last == context)
{
}
// is true for 2nd HttpApplication in AppDomain!
if (last != null && last.Application == context.Application)
{
}
last = context;
}
}
}用来存储其他东西可以访问的每个HttpApplication的数据的最好的blace是什么?
发布于 2010-09-03 20:18:46
如果您正在为特定(或受控的一组) web应用程序编写代码,则可以在global.asax中的HttpApplication中添加所需的任何状态,例如
public class Global : System.Web.HttpApplication
{
string MyProperty { get; set;}
....然后在您的模块中,将HttpApplication强制转换为全局并访问状态。例如,
var myApp = context as Global;
if (null != myApp)
{
var value = myApp.MyProperty;
...
}https://stackoverflow.com/questions/3614430
复制相似问题