Реферат: Менеджер подключений к базам данных

private DbManager manager;

public void Init(System.Web.HttpApplication context)

{

application = context;

manager = DbManager.Get();

application.BeginRequest += new EventHandler( OnBeginRequest );

}

protected void OnBeginRequest( object sender, EventArgs e )

{

manager.Init();

}

public void Dispose()

{

application.BeginRequest -= new EventHandler( OnBeginRequest );

}

}

В последних примерах можно заметить ранее не упоминавшийся метод Init. Он служит для привязки данного экземпляра менеджера к вызывающему потоку.

Пожалуйста, закрывайте двери!

Общеизвестно, что при использовании пула подключений (connection pool) основополагающий принцип работы с подключениями гласит: открывай поздно, закрывай рано. Иными словами, открывать нужно перед самым использованием, а закрывать сразу после оного. При этом нужно помнить, что в блоке использования подключения к базе может произойти какая-нибудь ошибка (exception), которая помешает закрыть подключение.

Мы уже рассматривали обычный для ADO.NET способ работы с объектом подключения, примерно такой:

using( connection ) {

connection.Open();

// Активнее используем подключение! Иначе, зачем открывали?!

...

}

Он прост и удачен, если не жалко уничтожить объект подключения в конце блока, т.е. если каждый раз создается новый объект подключения. Если же хочется использовать один объект, код становится гораздо менее красивым:

bool wasOpened = false;

if( connection.State == ConnectionState.Closed )

{

К-во Просмотров: 303
Бесплатно скачать Реферат: Менеджер подключений к базам данных