将WCF中的事务传播到Com+组件
来源:互联网 发布:阿里云如何搭建ssr 编辑:程序博客网 时间:2024/06/06 13:36
公司的产品用VB6开发了很多的Com+组件,代码维护到现在,重新用.net开发自然代价巨大。
话说有一个客户要求将此产品与另一系统进行集成,我们采用了WCF作为集成的方式,由我负责开发相关的WCF接口。
我的基本设想如下,由客户端发起调用,并启动客户端事务,服务端接收到客户端的调用后,如果存在客户端事务,就使用这个事务,不存在,就新建一个事务。
在代码中,我对数据进行了一番操作后,紧接着创建了一Com+对象,方式如下
dynamic doc= Activator.CreateInstance(Type.GetTypeFromProgID("DocCreate.Creater"));
然后,在客户端放弃提交事务之后,我发现单据还是导入了。这个COM+组件没有使用WCF中的环境事务,原因只是因为.net中的事务如果要跨线程传播,要使用依赖事务。
如果组件是.net开发的,我当然可以使用了,问题是这个Com+组件怎么使用.net创建的环境事务。Com+组件是在dllhost.exe程序中运行的,不在同一个线程中。
经过很长时间的寻找,才找到在System.EnterpriseServices命名空间下有个BYOT类,改成如下的调用方式,问题就解决了:
dynamic saver = BYOT.CreateWithTransaction(Transaction.Current, Type.GetTypeFromProgID("DocCreate.Creater"));
0 0
- 将WCF中的事务传播到Com+组件
- spring中的事务传播
- .net remoting的事务传播以及wcf分布式事务
- Spring中的事务传播行为
- Spring中的事务传播行为
- Spring中的事务传播行为
- 将调用密集型的 COM 组件迁移到托管代码
- JavaEE_Spring_Spring中的事务声明, 事务隔离和事务传播等
- spring 事务属性中的传播行为?
- Spring中的事务传播属性详解
- Spring中的事务传播属性详解
- COM组件中的addRef()
- WCF从理论到实践(12):事务
- 将.net组件注册为com组件
- 将 Visual J++ COM+ 组件迁移到 Visual J# 和 Enterprise Services
- WCF中的程序事务和数据库事务转换
- wcf事务
- WCF 事务
- ubuntu下的JDK和ant安装与环境变量的配置
- JFreechart图表ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null);// 问题出在第二个参
- Android共享数据ContentProvider的使用
- uva 12003 Array Transformer (块状数组)
- UVA 699 The Falling Leaves
- 将WCF中的事务传播到Com+组件
- cocos2d-x3.0实现2048游戏
- 博客学习七——redis虚拟内存、mongodb分片
- 杭电 1312 Red and black 搜索题
- 【记录】nginx 源代码
- PHP学习实例—2(简易图形计算器)
- 算法导论——lec 08 线性时间排序
- Graph的算法实现: 寻找一幅图的最小生成树(MST)
- 全栈JavaScript之路(十二)了解 Selector API