Подключен к веб-сайту и простаивает в течение 30 минут, а затем пытается получить доступ к сущностям. Я получаю следующую ошибку.Ошибка: соединение SQL Azure нарушено. После повторного подключения и доступа к объекту объекта произошла ошибка
Структура объекта Ошибка при выполнении определения команды. Подробнее см. Внутреннее исключение. Внутреннее исключение { «Неверное имя объекта 'dbo.TableName'.»}
Пример кода
Static Class Azure
{
public static CrmEntities ConnectCustomerEntity()
{
CrmEntities customerEntity = null;
policy.ExecuteAction(() =>
{
try
{
var shardId = GetShardId();
customerEntity = new CrmEntities(ConnectionStringCustomerDB());
string federationCmdText = @"USE FEDERATION Customer_Federation(ShardId =" + shardId + ") WITH RESET, FILTERING=ON";
customerEntity.Connection.Open();
customerEntity.ExecuteStoreCommand(federationCmdText);
}
catch (Exception e)
{
customerEntity.Connection.Close();
SqlConnection.ClearAllPools();
//throw e;
}
});
return customerEntity;
}
public static CrmEntities DBConnect(CrmEntities _db)
{
try{
if (_db == null)
_db = Azure.ConnectCustomerEntity();
if ((_db.Connection.State == ConnectionState.Broken) || (_db.Connection.State == ConnectionState.Closed))
{
SqlConnection.ClearAllPools();
_db = Azure.ConnectCustomerEntity();
}
else
{ //This code is to find out any issues in connection pool database connection
string sqlCmdText = @"select top 1 Id from Project";
_db.ExecuteStoreCommand(sqlCmdText);
}
}
catch (Exception ex)
{
_db.Connection.Close();
SqlConnection.ClearAllPools();
_db = Azure.ConnectCustomerEntity();
}
return _db;
}
}
Mvc контроллер. Следующий код я получаю это исключение, через 30 минут
public class FilterController : Controller
{
public ActionResult GetFilters(string entityName,string typeFilter)
{
_crmEntities=Azure.DBConnect(_db);
var query = _db.FilterFields.Where(filter => filter.TableId == tableId).ToList(); // Here I am getting that exception
}
}
Я не знаю, почему я получаю это исключение. Я пробовал все возможности. Ничего не помогло. Я действительно ударил этим. Если кто-нибудь знает, пожалуйста, сообщите, чтобы ваши взгляды вышли из этого исключения.
Спасибо заранее.
Kash, я не использую любой сеанс вообще. Он связан только с подключением SQLAzure. – sivaL