Castle 自动事务管理是否为事务方法创建 TransactionScope?
我有一个应用程序,它应该访问其数据库(通过 NHibernate)并在单个分布式事务(通过 WS-AT 传播到调用的 Web 服务)中执行 Web 服务调用(通过 WCF)。现在,我显式创建 TransactionScope,然后打开 NHibernate 会话并在内部执行 WCF 调用。我可以让 Castle ATM 为我创建 TransactionScope(或通过任何其他方式让 WCF 知道当前事务)还是它只能管理 NHibernate 事务?
I've got an app which should access its DB (via NHibernate) and perform web service calls (via WCF) in a single distributed transaction (which is propagated to called web services via WS-AT). For now I explicitly create TransactionScope and then open NHibernate sessions and perform WCF calls inside. Can I make Castle ATM create TransactionScope for me (or by any other means make WCF aware of the current transaction) or is it only able to manage NHibernate transactions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
所以我是该服务的作者。
目前处于测试阶段的版本 3(IO 位为 alpha,事务为 GA),设置了所谓的“环境事务”——这就是 TransactionScope 在幕后使用的内容。
这意味着您的事务将跨越服务边界流动。
获取版本 3 的最佳方法是通过
install-package castle.services.transaction
和castle.facilities.autotx
So I'm the author of that service.
Version 3 which is currently in beta (the IO-bits are alpha, transactions are GA), sets the so called 'ambient transaction' - this is what TransactionScope is using behind the scenes.
This means that your transaction will flow across service boundaries.
The best way to get version 3 is by
install-package castle.services.transaction
andcastle.facilities.autotx