Instrukcje: Tworzenie usługi przy użyciu interfejsu kontraktu
Preferowanym sposobem utworzenia kontraktu programu Windows Communication Foundation (WCF) jest użycie interfejsu. Ten kontrakt określa kolekcję i strukturę komunikatów wymaganych do uzyskiwania dostępu do operacji, które oferuje usługa. Ten interfejs definiuje typy danych wejściowych i wyjściowych, stosując ServiceContractAttribute klasę do interfejsu i OperationContractAttribute klasy do metod, które chcesz uwidocznić.
Aby uzyskać więcej informacji na temat kontraktów usług, zobacz Projektowanie kontraktów usług.
Tworzenie kontraktu WCF z interfejsem
Utwórz nowy interfejs przy użyciu języka uruchomieniowego Visual Basic, C# lub innego języka wspólnego.
Zastosuj klasę ServiceContractAttribute do interfejsu.
Zdefiniuj metody w interfejsie.
Zastosuj klasę OperationContractAttribute do każdej metody, która musi być uwidoczniona w ramach publicznego kontraktu WCF.
Przykład
Poniższy przykład kodu przedstawia interfejs definiujący kontrakt usługi.
using System.ServiceModel;
[ServiceContract]
public interface ICalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
<ServiceContract()> _
Public Interface ICalculator
<OperationContract()> _
Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract()> _
Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface
Metody, które mają zastosowaną OperationContractAttribute klasę, domyślnie używają wzorca komunikatu żądania-odpowiedzi. Aby uzyskać więcej informacji na temat tego wzorca komunikatu, zobacz How to: Create a Request-Reply Contract (Instrukcje: tworzenie kontraktu odpowiedzi na żądanie). Można również tworzyć i używać innych wzorców komunikatów, ustawiając właściwości atrybutu. Aby uzyskać więcej przykładów, zobacz How to: Create a One-Way Contract (Instrukcje: tworzenie kontraktu jednokierunkowego) i How to: Create a Duplex Contract (Jak utworzyć kontrakt dwukierunkowy).