Большую часть времени мой веб-сайт работает нормально, но иногда я получаю сообщения об истечении времени ожидания и не могу ничего сделать в течение 1-15 минут.Когда ошибка возникает в первый раз, это:
The timeout period elapsed prior to completion of the operation or the server is not responding.
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) (...)
И после этого, если я пытаюсь обновить страницу, я получаю:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
(...).
Каждое подключение, которое я использую, либо SqlDataSource
или открыт в коде, подобном следующему:
SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Faktury_RebuildConnectionString"].ToString());
SqlCommand myCommand = new SqlCommand("Command String", myConnection);
try{
myConnection.Open();
somecodehere()
}
finally
{
if (myConnection != null)
{
myConnection.Close();
}
}
Где моя строка подключения в web.config
равна Data Source=xxx\;Initial Catalog=xxx;User ID=xxx;Password=xxx;Max Pool Size=100;
.
Я пытался отключить пул, но это не помогло.Я проверил, обрабатывается ли каждое соединение правильно, и это так.Все SELECT
хороши - значит, они не занимают много времени.Особенно я вижу это, когда приложение работает должным образом.
Эта ошибка также возникает, когда я покидаю свой сайт в течение некоторого времени (15 - 60 минут) и снова захожу на него в первый раз;тогда все, что мне нужно сделать, это обновить его, и тогда он будет работать нормально.
Во время этой ошибки SQL Server работает нормально, а другие веб-сайты, использующие в основном те же запросы выбора, работают нормально.
У кого-нибудь естьпредложение что там может быть не так?У меня закончились идеи.
Редактировать: Было бы полезно по крайней мере не обновлять страницу после простоя в течение более длительного времени и истечения этого времени ожидания.