Относительно этого фрагмента кода:
public class MyController : Controller
{
SqlConnection db = new SqlConnection();
public ActionResult Index()
{
//Fetch some data with db.
//Maybe call some other private methods that use db.
return View();
}
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (db != null)
db.Dispose();
base.OnActionExecuted(filterContext);
}
}
1) Могу ли я быть уверен, что БД будет удалена в отношении любого потока жизненного цикла запроса MVC (исключения и т. д.)
2) Есть ли здесь какие-либо проблемы с точки зрения производительности?
(Я знаю, что есть более причудливые способы сделать это с наследованием/инъекцией, но меня интересует этот простой шаблон)
using(db = new SqlConnection){}
, который удалит объект в конце оператора. - person Tommy   schedule 01.10.2014