Web服务器-信号量超时时间已过期



当尝试在Windows Server 2008 R2上运行web应用程序时,我得到以下错误。当应用程序试图连接到数据库时,出现此错误。但是,我能够在另一个web服务器(Windows server 2008 R2)上运行应用程序而没有任何问题。

我看到有很多关于这个错误的帖子,但我无法为我找到解决方案。

如有任何帮助,不胜感激。

错误:

与服务器成功建立连接,但在登录过程中发生错误。(provider: TCP provider, error: 0 -信号量超时时间已过期)

Description:当前web请求执行过程中发生未处理的异常。请查看堆栈跟踪以获得有关错误及其在代码中的起源位置的更多信息。

异常详细信息: System.Data.SqlClient.SqlException:与服务器的连接已成功建立,但在登录过程中发生错误。(provider: TCP provider, error: 0 -信号量超时时间已过)

源错误:

在执行当前web请求期间生成了一个未处理的异常。有关异常的来源和位置的信息可以使用下面的异常堆栈跟踪来识别。

堆栈跟踪:

[SqlException (0x80131904):与服务器的连接已成功建立,但在登录过程中发生错误。(provider: TCP provider, error: 0 -信号量超时时间已过期)]

System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +89
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +207
   System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) +502
   System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) +153
   System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() +90
   System.Data.SqlClient.TdsParserStateObject.ReadBuffer() +39
   System.Data.SqlClient.TdsParserStateObject.ReadByte() +21
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +108
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +36
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +234
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +367
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +234
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +217
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +492
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +29
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +437
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +70
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +449
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +103
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +116
   System.Data.SqlClient.SqlConnection.Open() +478
   Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) +123
   Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(String connectionString, CommandType commandType, String commandText) +11
   Providence.Internet.MyAccount.Utilities.ServiceAreaUtilities.GetServiceAreasFromDataBase() +168
   Providence.Internet.MyAccount.Utilities.ServiceAreaUtilities.GetServiceAreas() +100
   LabTestCatalog.Global.Application_Start(Object sender, EventArgs e) +45
[HttpException (0x80004005): A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +407
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +130
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +296
   System.Web.HttpApplicationFactory.GetPipelineApplicationInstance(IntPtr appContext, HttpContext context) +54
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +237
[HttpException (0x80004005): A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +639
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +78
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +334

这是一个Windows错误信息,通常在网络或网络适配器出现问题时给出。下面的Microsoft KB文章提供了更多信息:

http://support.microsoft.com/kb/325487

最新更新