来源 ASP.NET 2.0.50727 事件 1309
开发环境:iis6,windows2003 sp1,vs.net 2005,c#,oracle9.2.0.1
部署环境:iis6,windows2003 sp2,oracle9.2.0.1
软件构成:asp做的网站,业务应用系统用的是vs.net 2005,编程语言c#
问题描述:开发测试都没有问题,可是一旦部署到客户服务器上,就出现问题,网站能正常使用,包括登陆,修改新闻什么的,但是业务系统经常出现无法登陆,无法登陆后,有的时候过一会(几分钟到半个小时以上)又可以使用,有的时候压根就不能再用了,登陆后又正常,
排错过程,因为服务器日志的应用程序日志警告中有提示“Timeout expired”,所以按照提示,将oracle访问封装成类,然后使用using,dispose等,发布后请求同事测试,同时20人以上,登陆,添加,删除等各种操作,同时监控oracle的会话数,始终维持在一个,然后具体的值也始终维持在一个范围内,没有什么变化,至此证明,以前的问题排除。
但是再次部署,问题仍然依旧,可是oracle会话数,依然是一个,并且那个连接的具体指标仍然没有什么变化,但是问题出现时,iis6的服务无法重启,在iis6的网站管理中,无法停用,总之,一旦这个问题出现,iis就像停止工作了。
查询微软网站,找到一个类似问题的解决方式,下载了NDP20-KB923028-X86.exe,安装结果死机了,再次安装依然依旧死机。
我的问题是:
1.是不是oracle连接的问题?,如果是怎么解决,是不是需要升级或者其他的操作?
2.如果不是oracle问题,那么是不是iis6的问题,具体说就是需要安装
NDP20-KB923028-X86.exe,怎么能安装上?
3,如果都不是,那么是什么问题?
下面贴出操作系统日志,
来源 ASP.NET 2.0.50727 事件 1309
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 2009-12-7 11:33:56
Event time (UTC): 2009-12-7 3:33:56
Event ID: 73ffec919dde4d46a5bbeb13dca286be
Event sequence: 836
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/Root/oa-1-129046203674218750
Trust level: Full
Application Virtual Path: /oa
Application Path: X:\dtfboa\
Machine name: IBM1
Process information:
Process ID: 1644
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: InvalidOperationException
Exception message: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Request information:
Request URL: http://192.168.1.220/oa/default.aspx
Request path: /oa/default.aspx
User host address: 192.168.1.100
User:
Is authenticated: False
Authentication Type:
Thread account name: IBM1\ytgsadmin
Thread information:
Thread ID: 1
Thread account name: IBM1\ytgsadmin
Is impersonating: False
Stack trace: at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OracleClient.OracleConnection.Open()
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at dataManage.SetDataRead(String P_StrSql)
at _Default.Button_into_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)