почему сеанс к серверу sql в этом случае отсутствует? - PullRequest
0 голосов
/ 12 октября 2009

Я использовал linq, чтобы побудить подключиться к базе данных, и недавно я обнаружил следующую проблему, когда я открываю веб-сайт и вход в систему, и я оставляю страницу простаивающей в течение примерно 10 минут, нажмите на ссылку на веб-сайте, котораясоединение с базой данных.Но похоже, что соединение с SQL Server 2005 отсутствует, и он автоматически переподключится к базе данных.и в процессе он выдаст следующее исключение:

 System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParserStateObject.WriteSni()
       at System.Data.SqlClient.TdsParserStateObject.WritePacket(Byte flushMode)
       at System.Data.SqlClient.TdsParserStateObject.ExecuteFlush()
       at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
       at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
       at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
       at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
       --- End of inner exception stack trace ---
       at System.Data.EntityC

Есть ли какое-либо решение для этой проблемы?После каждого соединения linq автоматически закрывает соединение или нет?Как установить или настроить это?

1 Ответ

0 голосов
/ 13 октября 2009

Пара предложений ... хранится ли что-то в сеансе, что влияет на соединение? Вы можете увеличить время ожидания сеанса в файле web.config ...

<system.web> 
    <sessionState timeout="20" />
<system.web> 

Наконец - я видел Произошла ошибка транспортного уровня ... ошибка возникает в сетях, которые разрывают соединения ... есть ли какие-то проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...