[英]How to call WCF service to WCF service in C#
我面臨着奇怪的問題。
我有一個WCF庫,正在調用一個外部wcf服務。 而且我能夠在測試客戶端中看到預期的結果。
但是我必須在IIS中托管此WCF庫,為此我必須使用一個wcf服務。 我將Wcflibrary dll引用到服務中,但是在創建外部wcf服務的對象時遇到以下錯誤。
System.ServiceModel.dll中發生類型'System.InvalidOperationException'的異常,但未在用戶代碼中處理
附加信息:在ServiceModel客戶端配置部分中找不到引用合同'SMSAgent.SMSGatewayPort'的默認終結點元素。 這可能是因為找不到您的應用程序的配置文件,或者是因為在客戶端元素中找不到與該協定匹配的端點元素。
任何機構都可以提出建議。這種情況有問題嗎?
沒有技術原因不能從另一個WCF服務調用WCF服務。 您可以根據需要將多個服務呼叫鏈接在一起。
我們將其稱為呼叫服務ServiceA和外部服務ServiceB。
您收到的錯誤是說ServiceA中的客戶端配置有問題。 這意味着告訴WCF如何構造從ServiceA到ServiceB的客戶端通道的代碼丟失或無效。
現在,對於要調用的每個服務,您需要在<system.serviceModel/>
配置的client部分內定義一個終結點 。 您的端點定義必須指定:
(可選)您可能需要包括服務身份規范,具體取決於正在調用的服務是否需要身份驗證。
例如:
<client>
<endpoint name="MyExternalEndpoint"
address="http://externalservice.com"
binding="wsHttpBinding"
contract="ExternalService.IServiceContract" >
<identity>
<dns value="externalservice.com" />
</identity>
</endpoint>
</client>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.