2013-06-03 20 views
-2

我剛剛在WCF中創建了我的第一個示例。到目前爲止,我可以創建服務並由本地計算機上的客戶端使用。當我第一次讀到WCF時,我看到了關於END POINTS的一些解釋,我不明白爲什麼它真的用於。下面是我的代碼和一些請告訴我爲什麼我應該使用端點以及如何將端點添加到我的示例應用程序。我爲什麼要在WCF中使用端點

namespace MvcApplicationrazor.Services 
{ 

    [ServiceContract] 
    public interface IMyService 
    { 
     [OperationContract] 
     string MyOperation1(string myValue); 
     [OperationContract] 
     string MyOperation2(DataContract1 dataContractValue); 
     [OperationContract] 
     string HelloWorld(string str); 
    } 

    [DataContract] 
    public class DataContract1 
    { 
     string firstName; 
     string lastName; 

     [DataMember] 
     public string FirstName 
     { 
      get { return firstName; } 
      set { firstName = value; } 
     } 
     [DataMember] 
     public string LastName 
     { 
      get { return lastName; } 
      set { lastName = value; } 
     } 
    } 
} 


namespace MvcApplicationrazor.Services 
{ 

    public class MyService : IMyService 
    { 
     public string MyOperation1(string myValue) 
     { 
      return "Hello: " + myValue; 
     } 
     public string MyOperation2(DataContract1 dataContractValue) 
     { 
      return "Hello: " + dataContractValue.FirstName; 
     } 
     public string HelloWorld(string str) 
     { 
      return "Helloworld from " + str; 
     } 


    } 
} 

客戶:

FirstServiceReference.MyServiceClient cc = new FirstServiceReference.MyServiceClient(); 
string a = cc.MyOperation1("chamara"); 

回答

4

與Windows通訊基礎(WCF)服務的所有通信都通過服務的端點發生。終端爲客戶提供對WCF服務提供的功能的訪問。

每個端點包括四個屬性:

  • ,指示該端點可以找到的地址。
  • 指定客戶端如何與端點通信的綁定。
  • 標識可用操作的合同。
  • 一組指定端點的本地實現細節的行爲。

端點

每個端點的結構由以下部分組成:

  • 地址:地址唯一標識端點,並告訴服務的潛在消費者它所在的位置。它由EndpointAddress類在WCF對象模型中表示。 EndpointAddress類包含:

  • Uri屬性,它表示服務的地址。

  • Identity屬性,表示服務的安全身份和可選消息標頭的集合。可選的消息頭用於提供額外的和更詳細的地址信息來識別端點或與端點交互。

    有關更多信息,請參閱指定端點地址。

  • 綁定:該綁定指定了如何與端點進行通信。這包括:

    • 要使用的傳輸協議(例如TCP或HTTP)。

    • 用於消息的編碼(例如文本或二進制文件)。

    • 必要的安全要求(例如SSL或SOAP消息安全性)。

    有關更多信息,請參閱Windows Communication Foundation綁定概述。 WCF對象模型中的綁定由抽象基類Binding表示。對於大多數場景,用戶可以使用系統提供的綁定之一。有關更多信息,請參閱系統提供的綁定。

  • 合同:合同概述了端點公開給客戶端的功能。合同規定:

    • 客戶可以調用什麼操作。

    • 消息的形式。

    • 調用操作所需的輸入參數或數據類型。
    • 客戶可以期待什麼類型的處理或響應消息。
  • 行爲:您可以使用端點行爲,以定製服務端點的本地行爲。終端行爲通過參與構建WCF運行時來實現這一點。 ListenUri屬性是一個端點行爲的示例,它允許您指定與SOAP或Web服務描述語言(WSDL)地址不同的監聽地址。有關更多信息,請參閱ClientViaBehavior。

相關問題