簡體   English   中英

如何在C#中將WCF服務調用為WCF服務

[英]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部分內定義一個終結點 您的端點定義必須指定:

  1. 端點定義的名稱
  2. 您正在呼叫的服務的地址
  3. 暴露於綁定服務的傳輸方式
  4. 包含服務定義的類型的標准名稱

(可選)您可能需要包括服務身份規范,具體取決於正在調用的服務是否需要身份驗證。

例如:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM