事件代码: 3005
事件消息: 发生了未处理的异常。
事件时间: 2012-11-28 10:18:28
事件时间(UTC): 2012-11-28 2:18:28
事件 ID: 9c4465338d4b44ee8af5cc37a5b69d8e
事件序列: 346
事件匹配项: 1
事件详细信息代码: 0
应用程序信息:
应用程序域: /LM/W3SVC/1004365944/Root/wwwPrograms-1-129985415291718750
信任级别: Full
应用程序虚拟路径: /wwwPrograms
应用程序路径: D:\Web\wwwPrograms\
计算机名: JIN14XUEXIAO
进程信息:
进程 ID: 3308
进程名: w3wp.exe
帐户名: NT AUTHORITY\NETWORK SERVICE
异常信息:
异常类型: SqlException
异常消息: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: TCP 提供程序, error: 0 - 由于目标机器积极拒绝,无法连接。)
请求信息:
请求 URL:
请求路径: /wwwPrograms/Bbsdy.aspx
用户主机地址: 124.115.0.139
用户:
是否已经过身份验证: False
身份验证类型:
线程帐户名: NT AUTHORITY\NETWORK SERVICE
线程信息:
线程 ID: 18
线程帐户名: NT AUTHORITY\NETWORK SERVICE
是否正在模拟: False
堆栈跟踪: 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTdsconnHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 _Bbsdy.Page_Load(Object sender, EventArgs e) 位置 d:\Web\wwwPrograms\Bbsdy.aspx.cs:行号 79
在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
自定义事件详细信息:
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持
解决办法:就是在IIS应用程序配置中,对该扩展名映射设置勾选“确认文件是否存在”,就不再收到这样的异常信息。估计是IIS和应用处理404错误的先后问题,用户访问首先经过IIS请求相关页面,如果没有设置“确认文件是否存在”,则IIS不做判断,直接交给应用程序进行解释,但是访问的这个文件并不存在,也没有设置相关的解释规则,于是引起应用程序异常,并把异常信息写入到事件记录中。比如配置伪静态的.html映射,那个html文件是不存在的,需要应用程序进行解释执行,在本例中,扩展名就是.asmx。暂时还不清楚是如何访问了能引起这个异常,至少我在浏览器中输入那个不存在的访问地址,不会引起事件记录。
解决方法:开始->所有程序->Ms Sql Server->配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.