当尝试在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