删除 TransactionScopeRequired = true

Remove TransactionScopeRequired = true

我在 windows 服务上有一个操作合同,它有一个属性

[OperationBehavior(TransactionScopeRequired = true)]

我想去掉这个属性。原因:

containerize the service. and Containerized apps do not support MSDTC , that's the purpose of the attribute!

这样做有什么影响? 我可以确认操作合同中的代码插入到单个数据库中。 没有触发任何事件,但我不确定是否存在消费该服务的交易。

我能得到一些建议吗?

您的服务需要交易。

只有你自己知道是否有必要,我们无法检查你的服务和数据库来检查。

请注意,这不仅可以启用 本地 事务,而且 - 根据绑定 - 还可以启用 分布式事务 See here for details.

你的新系统好像不支持这个(MSDTC是MS的Distributed Transaction Controller)。同样,当您转移到这个系统时,这是否会成为一个问题,我们无从得知。您必须查看系统架构,看看这是否是包含的内容 "just because" 并且可以删除而无需替换,或者它是否是您需要保留的系统的关键功能。