我有一个应用程序应该访问其数据库(通过NHibernate)并在单个分布式事务中执行Web服务调用(通过WCF)(通过WS-AT传播到被调用的Web服务)。现在我显式创建TransactionScope,然后打开NHibernate会话并在里面执行WCF调用。我可以让Castle ATM为我创建TransactionScope(或通过任何其他方式使WCF知道当前事务)或者它是否只能管理NHibernate事务?
答案 0 :(得分:2)
所以我是该服务的作者。
目前处于测试阶段的版本3(IO位是alpha,事务是GA),设置所谓的“环境事务” - 这就是TransactionScope在幕后使用的。
这意味着您的交易将跨越服务边界。
获取版本3的最佳方法是install-package castle.services.transaction
和castle.facilities.autotx