可重复读取隔离级出现死锁

如果自定义业务对象使用可重复读取隔离级访问 SQL 服务器,并且两个在相同事务中发送查询和更新的客户端同时调用业务对象,那么可能发生死锁。远程数据服务允许其中一个进程超时以便释放死锁,但这会使客户端的更新失败。

在 Web 服务器上添加注册表项可以修改超时的长度。默认为 30 秒(或者 30,000 毫秒)。

修改超时值

  1. 从“开始”菜单,单击“运行”。

  2. 键入“RegEdit”并单击“确定”。

  3. 在注册表编辑器中,定位到:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters 键。

  4. 选择“参数”键。从“编辑”菜单,指向“新建”,然后选定“DWORD 值”。

  5. 在“名称”列中,键入“ADCUpdateTimeout”并按 Enter。

  6. 双击新条目。在“编辑 DWORD 值”对话框中,将新值(以毫秒为单位)输入“值数据”框中。该值必须大于或等于 0。