我的 asp.net 应用程序每天都能正常工作。直到上个月,我的网站开始出现 2-3 次 Sqlsession 状态服务器问题,如下所示:
Blockquote System.Web.HttpException 引发了“System.Web.HttpException”类型的异常。在 System.Web.HttpAsyncResult.End() 在 System.Web.SessionState.SessionStateModule.EndAcquireState(IAsyncResult ar) 在 System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) ============ ======================================= 异常:System.Web.HttpException 无法连接到 SQL服务器会话数据库。在 System.Web.SessionState.SqlSessionStateStore.ThrowSqlConnectionException(SqlConnection conn, Exception e) 在 System.Web.SessionState.SqlSessionStateStore.SqlStateConnection..ctor(SqlPartitionInfo sqlPartitionInfo) 在 System.Web.SessionState.SqlSessionStateStore.GetConnection(String id, Boolean& usePooling ) 在 System.Web.SessionState.SqlSessionStateStore。在 System.Web.SessionState.SqlSessionStateStore.GetItemExclusive(HttpContext 上下文,字符串 id,Boolean& 锁定,TimeSpan& lockAge,Object& lockId,SessionStateActions& actionFlags)在 System.Web.SessionState.SessionStateModule.GetSessionStateItem() 在 System.Web.SessionState.SessionStateModule.PollLockedSessionCallback(对象状态)====================== ============================= 异常:System.InvalidOperationException 超时已过期。在从池中获取连接之前超时时间已过。这可能是因为所有池连接都在使用中并且达到了最大池大小。在 System.Data.ProviderBase。
然后我开始查看我的会话数据库服务器并在我的 sql 客户端中执行“exec sp_who”,结果中发现了很多 AspState 操作记录。
我不知道是什么导致了这种问题,因为我们在应用程序中没有改变任何严重的事情,只是修复了一些错误。
以下是我的 Web 应用程序环境的详细信息:
asp.net 3.5(从 1.1 转换)...在 2 个服务器场中运行良好,会话状态为 sqlmode。
有没有人知道这个问题或有任何调查的想法?谢谢