来源 ASP.NET 2.0.50727 事件 1309

张永伟-金融 2009-12-09 01:34:46
开发环境: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)
...全文
1230 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
张永伟-金融 2009-12-14
  • 打赏
  • 举报
回复
已经解决了,是楼上一个通知说的对,端口被占用,该死的金山毒霸,过程是这样的,我先将防火墙和杀毒软件禁用了,然后2天内没有问题了,于是我将oracle的几个端口全部开放,同时将oracle的http的服务停止了,然后就没有问题了,
结贴。
jonyxx 2009-12-11
  • 打赏
  • 举报
回复
我也碰到这个问题了啊
我觉得有点像是回收工作进程的时间太短了,研究中....
chen_ya_ping 2009-12-10
  • 打赏
  • 举报
回复
看错误的信息好像是数据库连接没有及时释放引起的问题,楼主你可以保证你的连接都dispose()或者是close()了吗?还有就是关于Oracle的数据库的连接字符串的写法,给你一个网站参考www.connectionstrings.com
walkghost 2009-12-10
  • 打赏
  • 举报
回复
是不是web园,进程的回收时间太短了?超时时间也太短了?看看你的sql语句执行最多需要花多长时间。是不是iis进程在等待Oracle返回的时候超时的?
张永伟-金融 2009-12-10
  • 打赏
  • 举报
回复
oracle占用的端口除了8080,1521,2030外还有那个?
悔说话的哑巴 2009-12-09
  • 打赏
  • 举报
回复
看了一下,估计是端口的问题,你修改一下了
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
哎,
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
怎么没有人了,
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
oracle端口被占用?什么端口?
是这样,为了防止出现问题,我现在的程序和数据库是在一台机器上的,
nosuchtracter 2009-12-09
  • 打赏
  • 举报
回复
oracle端口被占用了吧
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
可是如果是连接的问题,那么怎么看连接数?
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
没有人?
zcl24 2009-12-09
  • 打赏
  • 举报
回复
怎么看起来都是打开数据库连接出现了问题。
连接超时,可能是已获得的连接已超时,或已超过数据库连接池的最大值。
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
没有人知道吗?
张永伟-金融 2009-12-09
  • 打赏
  • 举报
回复
补充说明:
1,重启机器,正常。
2.iis连接数,我已经使用工具修改到了1000了,可是问题依旧

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧