共用方式為


HOW TO:使用類別建立 Windows Communication Foundation 合約

建立 Windows Communication Foundation (WCF) 合約的慣用方式是使用介面。 如需詳細資訊,請參閱如何:定義服務合約。 另一個方式就像這裡所略述的步驟,先建立一個類別,然後將 ServiceContractAttribute 屬性直接套用至該類別,並將 OperationContractAttribute 屬性套用該類別中屬於合約部分的各個方法。

警告

[ServiceContract][ServiceContractAttribute] 會執行相同的動作。 同樣的情況也適用於 [OperationContract][OperationContractAttribute]。 在每一個情況下,前者都是後者的簡寫。

如需服務合約的詳細資訊,請參閱設計服務合約

以類別建立 Windows Communication Foundation 合約

  1. 使用 Visual Basic、C# 或其他任何 Common Language Runtime 語言建立新的類別。

  2. ServiceContractAttribute 類別套用至該類別。

  3. 建立類別內的方法。

  4. OperationContractAttribute 類別套用到每一個方法 (必須當成公開 WCF 合約的一部分來公開) 上。

範例

下列程式碼範例會示範定義服務合約的類別。

[ServiceContract]
public class CalculatorService
{
  [OperationContract]
  public double Add(double n1, double n2)
  {
     return n1 + n2;
  }

  [OperationContract]
  public double Subtract(double n1, double n2)
  {
     return n1 - n2;
  }

  [OperationContract]
  public double Multiply(double n1, double n2)
  {
     return n1 * n2;
  }

  [OperationContract]
  public double Divide(double n1, double n2)
  {
     return n1 / n2;
  }
}

<ServiceContract()> _
Public Class CalculatorService
    <OperationContract()> _
    Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 + n2
    End Function

    <OperationContract()> _
    Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 - n2
    End Function

    <OperationContract()> _
    Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 * n2
    End Function

    <OperationContract()> _
    Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
        Return n1 / n2
    End Function
End Class

已套用 OperationContractAttribute 類別的方法依預設會使用要求-回覆訊息模式。 如需此訊息模式的詳細資訊,請參閱如何:建立要求-回覆合約 (機器翻譯)。 您也可以設定屬性 (Attribute) 的屬性 (Property) 來建立並使用其他訊息模式。 如需更多範例,請參閱如何:建立單面合約 (機器翻譯),以及如何:建立雙面合約 (機器翻譯)

另請參閱