zoukankan      html  css  js  c++  java
  • wcf 分布式事务实践

    WCF 中支持分布式事务有关配置过程及其说明请参考Kevin Li文章《基于WS-AtomicTransaction标准的WCF远程分布式事务(一)》
    原文地址:http://www.cnblogs.com/walkinhill/archive/2007/05/26/565020.html
    文章已经做了非常详细的说明。本文主要针对具体实践中遇到的问题做一些补充说明。

    环境
    服务端:windows server 2003 R2 Enterprise Edition(SP2)
            .net framework 3.5
            Oracle9i Client
            计算机名:servervm
    客户端 windows XP professional 2002(SP3)
           计算机名: clientvm
    双方调用关系:servervm提供WCF服务(c# Console程序)操作Oracle数据库查询或更新数据,其过程启用事务。
                 clientvm部署web应用程序,调用服务获得或更新数据,其过程启用事务。

    部署过程:
    主要是按照Kevin Li文章中所作说明进行操作
    一.配置server端(本示例中计算机servervm windows server 2003 R2 Enterprise Edition(SP2))
       1.如果操作系统已经安装sp2就不必安装Kevin Li文章中所说的补丁。如需安装,请注意针对2003和XP操作系统提供了不同版本补丁
       2.Oracle9i Client:必须安装ODAC92070.exe,点击程序后会产生两个文件夹:“Disk1”和“Translations”,打开“Disk1”双击setup进行安装
         安装完毕后拷贝msvcrtd.dll到system32下,其详细说明请参见fibona 文章:无法加载 DLL“oramts.dll”: 《找不到指定的模块。
         (异常来自    HRESULT:0x8007007E)》原文地址:http://www.cnblogs.com/fibona/archive/2008/11/17/1335396.html
       3.生成证书:在计算机servervm和clientvm分别生成证书并进行配置,
         详细过程参见Kevin Li文章《基于WS-AtomicTransaction标准的WCF远程分布式  事务(一)》
         证书生成工具可以用VS自带工具makecert.exe在VS命令行生成,需要注意的是正如Kevin Li所说:-n "CN=MachineA"参数一定要用FQDN
       4.配置MS DTC:详细步骤同样Kevin Li在文章里已经说的很明白,需要说明的是配置https端口时一般不要用443,容易产生冲突。
       5.配置自己所写的WCF service的应用程序配置文件的<system.serviceModel>节(参考Kevin Li文章中几种binding)
    二.配置client端 (本示例中计算机clientvm windows XP professional 2002(SP3))
       过程大体同server端
    1.安装操作系统补丁
    2.生成和配置点对点信任证书(如果配置server端时已对此计算机进行了相关操作则忽略此步骤)
    3.注册和配置ws-at协议组件(注:此处在XP下可能默认配置不可用,需要首先在MS DTC配置中启用网络访问详细过程请参见 CloudSpace 文章
     《使用 WS-  AtomicTransaction 构建事务 Web 服务》中“步骤 3:在 Microsoft Distributed Transaction Coordinator (MSDTC) 中启用网络访 问”部分 原文地址:http://space.itpub.net/14789789/viewspace-444237,另外https端口不要和server端相同。)
    4.配置应用程序配置文件<systems.serviceModel>节(参考Kevin Li文章中几种binding)

     其他一些更详细内容可以参考msdn 地址:http://msdn.microsoft.com/zh-cn/library/ms733943.aspx
     以及
     《Accessing a WCF service from a ASP.Net Web application》 地址:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/407f0459-0fe2-46c0-91ee-0f644c90ec2c
     《MSDTC transaction manager's WS-AtomicTransaction protocol service is disabled》地址:http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/34d26cb5-9485-4acd-be0f-9144f4329acf

  • 相关阅读:
    H5前端上传文件的几个解决方案
    MyEclipse和Eclipse各个版本的汉化破解(包括7.59.0和Eclips的ehelios、indigo各版本)
    学习C#中的事件和委托
    JS学习笔记(一)JS处理JSON数据
    图解Eclipse开发C++、C语言的配置过程使用CDT和MinGw
    ASP.NET使用C#实现的最简单的验证码方法
    微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
    PHP开发笔记(二)PHP的json_encode和json_decode问题
    C博客作业00——我的第一篇博客
    extern "c"
  • 原文地址:https://www.cnblogs.com/qingwa008/p/1552637.html
Copyright © 2011-2022 走看看