我有一个服务,我在asp.net mvc5框架中通过autofac注册了这个依赖项。
public partial class EBayApiService : IEBayApiService
{
#region Fields
private readonly GlobalSettingsForEBay _globalSetting;
private static ApiContext _context;
#endregion
#region Ctor
public EBayApiService(GlobalSettingsForEBay globalSetting)
{
this._globalSetting = globalSetting;
_context = GetApiContext();
}
static ApiContext GetApiContext()
{
//apiContext is a singleton,
//to avoid duplicate configuration reading
if (_context != null)
{
return _context;
}
else
{
_context = new ApiContext();
return _context;
}
public CategoryTypeCollection GetAllEBayParentCategories(ApiContext context)
{
//here I play with _context.
}
}
第一次来自浏览器_context的请求为null并且它收集数据。在每次请求之后,它都不为空。
现在我的问题是它何时再次变为空?或者它在整个生命周期中只采集一次数据。
答案 0 :(得分:1)
除非重新启动IIS,否则它只在生命周期中使用一次数据。如果重新启动IIS,_context
将再次null
,因为_context
是静态类型。
答案 1 :(得分:0)
我认为首先每页加载都会为null(页面“PostBack”)。