SOAP,IIS服务

chinazxy2008 2007-12-18 11:12:47
我用的SOAP,IIS服务,有时一客户端访问数据库死锁了时,所有的客户端都连接不上了,查询数据也有些表死锁了,但重启IIS后,一切都恢复正常了,请问怎么解决
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinazxy2008 2007-12-18
  • 打赏
  • 举报
回复
我设了,但那样更有问题,出现数据库都死了
brightyang 2007-12-18
  • 打赏
  • 举报
回复
把数据库的等待超时设低点看看
comanche 2007-12-18
  • 打赏
  • 举报
回复
可能是 adodataset.locktype + connection.isolevel 问题

isolevel 可以设成 read commited, 过高的设定要求锁定其它客户
locktype 有要更新的表应设成 batch optimatic, 更新时最加一句 .UpdateBatch

另外查看程序是否有产生死锁的地方,如果都是事务时间长的原因上面就应该可以解决
hsmserver 2007-12-18
  • 打赏
  • 举报
回复
建立线程池
而且Soap处理大批量的数据非常不爽
chinazxy2008 2007-12-18
  • 打赏
  • 举报
回复
我们用的三层结构,中间层是Delphi自带的Soap Server,数据库是SqlServer2005,中间层是windows2003IIS,现在是经常出来死机,查询表中有些表是死锁,而且所有的客户端都用不起,但如果重新启动IIS后,所有的客户端都恢复正常,且数据库中的那些死锁的进程也恢复了正常,是不是IIS是单进程的,感觉一个人执行的动作整个IIS的资源都占了,其它客户端都连接不上了,

请高手们指点

我们测试了,如果一客户端调用了一个要执行很长时间的方法时,这时其它客户端就不能连接中间层了,是不是SOAP是单线程的

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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