Я использую NHibernate с SQL Server 2005 в клиентском приложении WPF.
Если я вручную остановлю службу SQL Server, а затем перезапущу ее, сеанс не будет автоматически повторно подключаться.
Пока я делаю эту ведьму, кажется, работает:
try
{
using (ITransaction transaction = this.Session.BeginTransaction())
{
// some select here
}
}catch(Exception ex)
{
if(this.Session.Connection.State == ConnectionState.Closed)
{
try
{
this.Session.Connection.Open();
}
catch (Exception)
{
}
}
}
Есть ли лучший способ?