我有一个体系结构,其中有以下几个组成部分:

外部应用程序(EA)引用WCF服务(WS)并调用特定方法,应该通过Pub服务(PSS)通知所有内部应用程序(IA)。
我面临的问题是,如何确定一个WCF服务(WS)与另一个WCF服务(Pub服务)通信是否可行或最佳实践。我已经读到,考虑到请求是以同步方式处理的,这不是一个好主意,这可能会导致服务交付中的不一致。
基于这一点,我的具体问题是--有人能分享职业和欺诈,允许两个WCF服务互相交流吗?或者这不是一个问题吗?
谢谢
发布于 2013-07-09 13:48:20
我同意其他答案,但是,由于以消息为导向的方法在您的可用资源中是不可行的,我将这样说。
只要您的WCF服务充当客户端( 'WS')和服务器( 'PSS'),它将共享任何客户端服务器应用程序的缺陷。然而,这假设了以下几点:
( a)你的'WS‘对你的'EA’实施单向操作,或“火与忘”.参见这里的参考:您需要了解的是有关单向呼叫、回调和事件的信息。。否则,'EAs‘将不得不等待'PSS’的内部调用完成。
( b)您的“WS”通道已经配置好,并且有足够的资源来处理负载,因为单向操作并不是真正的异步操作;如果通道无法处理负载,那么调用将排队并阻塞客户端,直到释放资源并继续执行为止。
c)对于有保证的、事务性的或有序的传递或任何其他类似消息传递的行为,不需要任何约束。
但是,以前说过的这种场景确实需要一个基于消息的体系结构。您有几个故障点,对这个依赖链进行故障排除将是无趣的。
发布于 2013-07-09 13:25:43
我完全同意史蒂文的观点。您应该考虑在这里使用消息队列。资源如下:
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
希望这些就足够了。谢谢。
https://stackoverflow.com/questions/17548722
复制相似问题