相关疑难解决方法(0)

默认交易超时

我曾经使用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,相当于无穷大.这是否意味着我的配置文件中设置的值被忽略了?

总结一下:

  • 是否无法混合配置设置和TransactionOptions的使用
  • 如果没有,是否有任何方法可以在运行时提取配置设置,并使用它来设置Timeout属性
  • [编辑]或设置默认隔离级别而不使用TransactionOptions

.net configuration timeout transactions

36
推荐指数
4
解决办法
5万
查看次数

标签 统计

.net ×1

configuration ×1

timeout ×1

transactions ×1