У меня есть контроллер, который создает экземпляр базы данных для EF.(Как я уверен, большинство из них не реализуют шаблон репозитория.)
Когда я запустил анализ кода в своем проекте, он рекомендовал реализовать IDisposable, поэтому я написал следующий код.
#region Implementation of IDisposable
public void Dispose()
{
Console.WriteLine("Dispose");
Dispose(true);
GC.SuppressFinalize(this);
}
// The bulk of the clean-up code is implemented in Dispose(bool)
protected override void Dispose(bool disposing)
{
Console.WriteLine("Dispose(disposing)");
if (disposing)
{
// free managed resources
if (_dataService != null)
{
((IDisposable)_dataService).Dispose();
_dataService = null;
}
// free managed resources
if (_db != null)
{
((IDisposable)_db).Dispose();
_db = null;
}
}
base.Dispose(disposing);
}
#endregion
Я тоже пытался это сделать.
protected new virtual void Dispose(bool disposing)
Но мои операторы console.writeline никогда не выполняются.Что я делаю неправильно?Почему Dispose () не вызывается на моем контроллере?