首页 新闻 会员 周边

Nhibernate wcf 分布式事务问题

0
悬赏园豆:60 [待解决问题]

大家好,最近在做wcf服务,用nhibernate作为数据持久化工具,要用到分布式事务。

在配置了事务之后,服务不可以正常运行,总提示:The transaction has aborted.   看innerException里面的内容:Communication with the underlying transaction manager has failed.

如果把事务事务配置去掉,服务可以正常运行。

请各位大侠予以指点,谢谢!

IT 6796的主页 IT 6796 | 初学一级 | 园豆:11
提问于:2012-05-02 21:39
< >
分享
所有回答(3)
0
J九日 | 园豆:202 (菜鸟二级) | 2012-05-03 08:21

我看了你给的后面的那个网站,不太明白他给的两个notes里面的内容:Don’t close the NHibernate ISession explicitly,Don’t create transactions explicitly。是不是可以理解为在一个session实例里面做完了相关的数据处理,不用做session.Close()和session.Clear().也不用在Session实例里面用事务?我现在的程序是那么做的,但是异常依旧存在。我数据库用的 Oracle.   你有相关的忠告吗?

谢谢!

支持(0) 反对(0) IT 6796 | 园豆:11 (初学一级) | 2012-05-03 21:11

@IT 6796: 昨天我实现了一个案例,在服务端方法开始/结束时打开/提交事务,出错时回滚,类似于MVC程序Action执行开始/结束时的事务,有时间我可以写到博客中。当然,这个案例仅在服务端,不像 Castle或Spring实现了客户端+服务端事务。

支持(0) 反对(0) J九日 | 园豆:202 (菜鸟二级) | 2012-05-04 09:26

@J九日: 哦,我要实现的是事务传播。

支持(0) 反对(0) IT 6796 | 园豆:11 (初学一级) | 2012-05-04 23:06
0

我博客里有例子。

冬子哥 | 园豆:259 (菜鸟二级) | 2012-05-03 18:31

你那里的例子有用spring.net,我连配置文件都看不懂。

支持(0) 反对(0) IT 6796 | 园豆:11 (初学一级) | 2012-05-03 20:35
0

楼主能不能描述的清晰些,具体使用场景?

用nhibernate的话,开c#事务会冲突,所以直接用nhibernate提供的事务进行事务控制。

nhibernate+wcf的话不能延时加载

菜鸟老了 | 园豆:145 (初学一级) | 2012-05-04 00:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册