困扰好多天的WCF问题

zhtghl2008 2012-12-27 10:26:56
好久没来论坛了,不知道WCF问题应该发布到哪里?废话不多说了,切入正题。
问题个人感觉比较复杂,主要还是WCF分布事务的问题,分开来说吧。
说下配置情况:
数据库服务器DB与承载WCF服务端的服务器WCFServer 都在机房托管,两台机器属于局域网。
WCF的客户端(WEB网站)服务器WCFClient在公司。

如果WCF启用分布事务的话,在客户端传入事务流

问题一:绑定采用wsHttpbinding,在注册表已经禁用了OleTx协议的自动升级,故分布事务协议默认是WS-AT协议,但是配置WS—AT的时候出现问题:注册WsatUI.dll的时候,32为系统没有问题,64系统注册成功后,WS-AT的Tab选项还是不能显示。只能通过wsatconfig.exe工具进行启动ws-at协议,但是通过命令行配置是总提示找不到ssl证书,证书已经都导入到计算机和受信任机构。没有问题。
最后总结出是64为系统问题,那是不是64为系统就不能实现外网的分布事务了?请高手解答。

问题二:绑定采用NetTcpBinding,分布事务协议采用OleTx时,提示:与基础事务通信失败。然后协议采用WS-AT时,提示WS-AT禁用。

问题三:通过这两次尝试,最终WCF关于Internet的分布事务最后都以失败告终,看msdn上说OleTx协议只要是window平台都可以使用的,但是为什么会报错提示:与基础事务通信失败;ws-at最终也失败。
以上分布事务在局域网测试都已经通过。
希望有在外网配置成功的前辈给予指点。

...全文
317 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhtghl2008 2013-01-04
  • 打赏
  • 举报
回复
这些都是基本的,设置好了,就是找不出问题了,哎 弄了好几天了。以前用wcf都是在局域网。
O西瓜 2013-01-03
  • 打赏
  • 举报
回复
看起来问题还是出在wsat中,本地dtc属性中的安全tab设置正确了吗, 1,事务管理器通信设置为允许入站,允许出站 2,验证选择不要求进行验证试试 3,从防火墙中把DTC设为例外
zhtghl2008 2012-12-30
  • 打赏
  • 举报
回复
这两天出差了,很抱歉刚刚看到楼上的回帖,这篇文章之前看过了,配置都没有问题。还是报错,说是机器未开启WS-AT协议。 Version10禁用。。很无奈
O西瓜 2012-12-28
  • 打赏
  • 举报
回复
你通过ws-at界面方式进行配置了? 还是不行吗 微软有一遍文章写如何配置ws-at事务支持的,可以看看,里面有一些细节 http://msdn.microsoft.com/zh-cn/library/ms733943.aspx
zhtghl2008 2012-12-28
  • 打赏
  • 举报
回复
终于注册成功了WS-AT的 tab卡上显示,当时太大意了,64位命令行的时候 忘记输入/codebase了。 但是大问题还没解决,就是如何配置Internet的分布事务。
zhtghl2008 2012-12-28
  • 打赏
  • 举报
回复
另外证书都包含私钥了
zhtghl2008 2012-12-28
  • 打赏
  • 举报
回复
我当时命令行32,64都用了,WsatUI也有几个都试过了,都不行。楼上的请问配置过Internet的WCF分布事务不,求教呀
O西瓜 2012-12-28
  • 打赏
  • 举报
回复
你说的对,是64位的问题。 oleTx确实只支持windows平台,而且需要在DTC配置,启用网络访问和事务管理器的入站和出站。 在64位平台上注册以使Ws-at界面在DTC tab卡上显示,要求程序集注册工具RegAsm和Wsatui都是64位的,这种情况很多人都没注意,导致DTC属性窗口没有显示出来(通过Visual Studio Tools进入的命令行使用的是32位的,输入path就可以看出) 证书上必须包含私钥才能和ssl绑定,因为解密时需要私钥。
铜臂阿铁木 2012-12-27
  • 打赏
  • 举报
回复
不懂WS-AT
zhtghl2008 2012-12-27
  • 打赏
  • 举报
回复
顶起来,高手赶紧帮帮忙
zhtghl2008 2012-12-27
  • 打赏
  • 举报
回复
没有人知道的吗,求解释呀

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧