【发布时间】:2011-03-10 11:26:36
【问题描述】:
我正在通过 Web 服务进行调试,并且在 Web 服务内部我有一个事务范围,如果我没有犯任何错误,它会在最后完成我的所有写入操作。
无论如何,除非我决定单步执行,否则一切正常,然后当我调试太久时,如果我写入数据库,则会收到此错误。
{"该操作对事务的状态无效。"}
如何防止这种情况发生?
【问题讨论】:
标签: .net debugging dataset transactionscope
我正在通过 Web 服务进行调试,并且在 Web 服务内部我有一个事务范围,如果我没有犯任何错误,它会在最后完成我的所有写入操作。
无论如何,除非我决定单步执行,否则一切正常,然后当我调试太久时,如果我写入数据库,则会收到此错误。
{"该操作对事务的状态无效。"}
如何防止这种情况发生?
【问题讨论】:
标签: .net debugging dataset transactionscope
这可能是超时问题,您可以发布一些代码吗? 通常您可以更改事务范围的超时属性。
你可以做的另一件事是如果你有一个配置文件来更改那里的超时值:
示例:
<system.transactions>
<machineSettings maxTimeout="01:00:00" />
</system.transactions>
【讨论】:
您可以通过代码动态更改超时设置并将其包装在 #if 语句中
#if DEBUG
change the timeout settings...
#endif
这样你只会在调试时覆盖它,省去处理两组配置文件的麻烦。
【讨论】: