簡體   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