我曾经使用TransactionOptions.Timeout设置事务超时,但已决定使用配置方法来简化维护:
<system.transactions>
<defaultSettings timeout="00:01:00" />
</system.transactions>
Run Code Online (Sandbox Code Playgroud)
当然,在把它放入之后,我想测试它是否正常工作,所以将超时时间减少到5秒,然后运行一个持续时间超过这个的测试 - 但事务似乎没有中止!如果我调整测试以将TransactionOptions.Timeout设置为5秒,则测试按预期工作
调查后我认为问题似乎与TransactionOptions.Timeout有关,即使我不再使用它.
我仍然需要使用TransactionOptions,所以我可以设置IsolationLevel,但我不再设置Timeout值,如果我在创建它之后查看此对象,则超时值为00:00:00,相当于无穷大.这是否意味着我的配置文件中设置的值被忽略了?
总结一下: