什么是静态字段的生命周期

Cha*_*son 1 c# asp.net-mvc

C#MVC中静态字段的生命周期是什么:

private static InventoryMgmtContext _dbContext = new InventoryMgmtContext();
public ManageWorkOrdersAppServ()
    : base(new WorkOrderHeaderRepository(_dbContext )) 
{
    _workOrderHeaderRepository = new WorkOrderHeaderRepository(_dbContext);
    _workOrderDetailRepository = new WorkOrderDetailRepository(_dbContext);

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,_dbContext何时会死?这是我的另一个问题的后续行动,我无法澄清.

Jon*_*eet 8

静态字段的存在时间与AppDomain加载类型所在的一样长.无论环境如何,都是如此.

现在在Web环境中,IIS将AppDomain在某些情况下回收- 所以你不应该永远依赖它.

如果这确实是一个数据库上下文,我认为它根本不应该在静态字段中.通常,您为单个"工作单元"创建数据库上下文.