2009-10-12 2 views
0

linq를 사용하여 데이터베이스에 연결하고 최근에 다음과 같은 문제를 발견했습니다. 웹 사이트를 열고 로그인 할 때 페이지를 약 10 분 동안 유휴 상태로두면 웹 사이트에서 링크를 클릭하면 데이터베이스에 연결. 하지만 SQL Server 2005에 연결이 끊어져서 데이터베이스에 자동으로 다시 연결됩니다. 그 과정에서 다음 예외를 throw합니다.왜이 경우 SQL Server에 대한 세션이 종료 되었습니까?

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이 자동으로 연결을 닫으 시나요? 설정 또는 구성 방법?

답변

0

몇 가지 제안 사항 ... 세션에 연결에 영향을주는 내용이 저장되어 있습니까? 당신은 마지막으로 ...의 Web.config에

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

을 세션 제한 시간을 증가시킬 수있다 - I가 전송 수준 오류가 발생한 본 적이 ... 오류 연결을 드롭 네트워크에서 발생하는 ... 거기에 어떤 문제가 있습니까?

+0

다른 의견이 있으십니까? 기본 설정은 timeout = "20"이므로 설정을 다시해야합니까? – MemoryLeak