我有一个操作协定,在一个Windows服务上,它有一个属性
[OperationBehavior(TransactionScopeRequired = true)]
我想摆脱这个属性。原因:
容器化服务。 和容器化应用程序不支持 MSDTC,这就是属性的目的!
这样做有什么影响? 我可以确认操作协定中的代码插入到单个数据库中。 没有触发任何事件,但是我不确定是否存在使用该服务的事务。
我可以得到一些建议吗?
您的服务需要事务。
只有您才能知道这是否必要,我们无法检查您的服务和数据库进行检查。
请注意,这不仅支持本地事务,而且根据绑定,还可以启用分布式事务。详情请看这里。
您的新系统似乎不支持此功能(MSDTC 是 MS 的分布式事务控制器(。同样,当您迁移到此系统时,这是否是一个问题,我们无法发现。您必须查看系统架构,看看这是否是"仅仅因为"可以删除而无需替换的东西,或者它是否是您需要保留的系统的关键功能。