繁体   English   中英

WCF到WCF通信

[英]WCF to WCF Communication

我有一个架构,其中有以下成分:

  1. 外部应用程序(EA) - 向WCF服务发出请求的第三方
  2. WCF服务(WS) - 所有业务逻辑
  3. Pub-Sub服务(PSS) - 处理发布和订阅
  4. 内部应用程序(IA) - 订阅或取消订阅Pub-Sub(使用CallBacks)

概观

外部应用程序(EA)引用WCF服务(WS)并调用特定方法,应通过Pub-Sub服务(PSS)向所有内部应用程序(IA)通知该方法。

我遇到的问题是决定让一个WCF服务(WS)与另一个WCF服务(Pub-Sub服务)通信是否可行或最佳实践。 我已经读过,这不是一个好主意,因为请求是以同步方式处理的,这可能会导致服务交付不一致。

我的具体问题是 - 有人可以分享赞成和允许两个WCF服务相互通信的内容; 或者这不是问题?

谢谢

我完全同意史蒂文。 你应该考虑在这里使用消息队列。 资源如下:

http://msdn.microsoft.com/en-us/library/ms751499.aspx

http://msdn.microsoft.com/en-us/library/ms731089.aspx

http://www.codeproject.com/Articles/34168/WCF-Queued-Messaging

希望那些就足够了。 谢谢。

我同意其他答案,但是由于面向消息的方法对于您的可用资源是不可行的,我会这样说。

只要您的WCF服务充当客户端(您的'WS')和服务器(您的'PSS'),它就会分担任何客户端 - 服务器应用程序的缺陷。 但是,这假设了几件事:

a)您的'WS'对您的'EA'实施单向操作,或“发射并忘记”。 请参阅此处以供参考: 您需要了解的有关单向呼叫,回叫和事件的信息 否则,'EA'将不得不等到您对'PSS'的内部呼叫完成。

b)您的'WS'通道已配置好并且具有足够的资源来处理负载,因为单向操作并非真正异步; 如果通道无法处理负载,则调用将排队并阻止客户端,直到释放资源并继续执行。

c)不需要对担保,交易或有序交付或任何其他类似消息传递的行为进行约束。

但是,在此类场景之前说的确实需要基于消息的架构。 您有几个故障点,并且对这个依赖链进行故障排除将毫无乐趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM