我正在通过Web服务进行调试,而在Web服务中,我有一个事务范围,如果我没有犯任何错误,我会在最后完成所有写操作。
无论如何,除非我决定单步执行,否则当我调试太久时,如果我写入数据库,我会收到此错误。
{“该操作对交易状态无效。”}
如何防止这种情况发生?
答案 0 :(得分:1)
这可能是一个超时问题,你能发布一些代码吗? 通常,您可以更改事务范围的超时属性。
你可以做的另一件事是你有一个配置文件来改变那里的超时值:
示例:
<system.transactions>
<machineSettings maxTimeout="01:00:00" />
</system.transactions>
答案 1 :(得分:0)
您可以通过代码动态更改超时设置并将其包装在#if语句
中#if DEBUG
change the timeout settings...
#endif
这样你只会在调试时覆盖它,并省去处理两组配置文件的麻烦。