我无法解决这个问题,我在Appication_Start
期间将实例分配给静态类和变量,并且该变量在几天后变为null。
public static class IocFactory
{
private static IContainer _appscopeContainer;
public static void Register(IContainer container = null){
_appscopeContainer = container
}
public static Instance{
get { return _appscopeContainer; }
}
}
我在Appication_Start
上为变量分配了一个实例,我希望_appscopeContainer
有效。
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Dim appContainer As IContainer = new Container()
'register framework 4.0 class to container...
IocFactory.Register(appContainer)
End Sub
在Begin_Request
我将构建一个子容器并将其存储到HttpContext请求缓存中,并且有时会在几天之后发出错误说_appscopeContainer
为空,我试过回收应用程序,它通常是正常的。
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim requestContainer As IContainer = IocFactory.Instance.BeginLifetimeScope(Tags.RequestLifetimeScopeTag)
End Sub