我已经收到了一些代码,并且在控制器类中有一个属性保存初始化的数据库上下文。
public class MyController: Controller
{
protected AssetManagerContext db = new AssetManagerContext("ConnectionString");
// Actions...etc.
[HttpGet]
public ActionResult Edit(int id)
{
MyAsset myAsset = db.Assets.Find(id); // Used and not disposed
return View(myAsset);
}
}
大多数操作都使用此上下文而不处理它,我担心的是上下文保持打开状态。
我是否需要担心此上下文未显式关闭(通过 .Dispose() 或 using {} 语句)
如果我应该担心,由于变量是类的一部分并且跨操作使用,我应该如何处理这种情况?
Controller类有一个dispose方法。因此,在控制器中重写该方法并处理该上下文。
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
db.Dispose();
}
上下文完成后将自动调用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)