Bagikan melalui


OperationDescription Kelas

Definisi

Mewakili deskripsi operasi kontrak yang memberikan deskripsi pesan yang membentuk operasi.

public ref class OperationDescription
public class OperationDescription
type OperationDescription = class
Public Class OperationDescription
Warisan
OperationDescription

Contoh

Contoh berikut menggunakan yang OperationDescription dikembalikan dari koleksi yang dikembalikan oleh Operations properti ContractDescription kelas. Kode berulang melalui kumpulan titik akhir dan mencetak setiap nama titik akhir, serta nama setiap operasi di titik akhir.

private void PrintDescription(ServiceHost sh)
{
    // Declare variables.
    int i, j, k, l, c;
    ServiceDescription servDesc = sh.Description;
    OperationDescription opDesc;
    ContractDescription contractDesc;
    MessageDescription methDesc;
    MessageBodyDescription mBodyDesc;
    MessagePartDescription partDesc;
    IServiceBehavior servBeh;
    ServiceEndpoint servEP;

    // Print the behaviors of the service.
    Console.WriteLine("Behaviors:");
    for (c = 0; c < servDesc.Behaviors.Count; c++)
    {
        servBeh = servDesc.Behaviors[c];
        Console.WriteLine("\t{0}", servBeh.ToString());
    }

    // Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints");
    for (i = 0; i < servDesc.Endpoints.Count; i++)
    {
        // Print the endpoint names.
        servEP = servDesc.Endpoints[i];
        Console.WriteLine("\tName: {0}", servEP.Name);
        contractDesc = servEP.Contract;

        Console.WriteLine("\tOperations:");
        for (j = 0; j < contractDesc.Operations.Count; j++)
        {
            // Print the operation names.
            opDesc = servEP.Contract.Operations[j];
            Console.WriteLine("\t\t{0}", opDesc.Name);
            Console.WriteLine("\t\tActions:");
            for (k  = 0; k < opDesc.Messages.Count; k++)
            {
                // Print the message action.
                methDesc = opDesc.Messages[k];
                Console.WriteLine("\t\t\tAction:{0}", methDesc.Action);

                // Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body;
                if (mBodyDesc.Parts.Count > 0)
                {
                    for (l = 0; l < methDesc.Body.Parts.Count; l++)
                    {
                        partDesc = methDesc.Body.Parts[l];
                        Console.WriteLine("\t\t\t\t{0}",partDesc.Name);
                    }
                }
            }
        }
    }
}
Private Sub PrintDescription(ByVal sh As ServiceHost) 
    ' Declare variables.
    Dim i, j, k, l, c As Integer
    Dim servDesc As ServiceDescription = sh.Description
    Dim opDesc As OperationDescription
    Dim contractDesc As ContractDescription
    Dim methDesc As MessageDescription
    Dim mBodyDesc As MessageBodyDescription
    Dim partDesc As MessagePartDescription
    Dim servBeh As IServiceBehavior
    Dim servEP As ServiceEndpoint
    
    ' Print the behaviors of the service.
    Console.WriteLine("Behaviors:")
    For c = 0 To servDesc.Behaviors.Count-1
        servBeh = servDesc.Behaviors(c)
        Console.WriteLine(vbTab + "{0}", servBeh)
    Next c
    
    ' Print the endpoint descriptions of the service.
    Console.WriteLine("Endpoints")
    For i = 0 To servDesc.Endpoints.Count-1
        ' Print the endpoint names.
        servEP = servDesc.Endpoints(i)
        Console.WriteLine(vbTab + "Name: {0}", servEP.Name)
        contractDesc = servEP.Contract
        
        Console.WriteLine(vbTab + "Operations:")
        For j = 0 To contractDesc.Operations.Count-1
            ' Print operation names.
            opDesc = servEP.Contract.Operations(j)
            Console.WriteLine(vbTab + vbTab + "{0}", opDesc.Name)
            Console.WriteLine(vbTab + vbTab + "Actions:")
            For k = 0 To opDesc.Messages.Count-1
                ' Print the message action. 
                methDesc = opDesc.Messages(k)
                Console.WriteLine(vbTab + vbTab + vbTab + _
                  "Action:{0}", methDesc.Action)
                
                ' Check for the existence of a body, then the body description.
                mBodyDesc = methDesc.Body
                If mBodyDesc.Parts.Count > 0 Then
                    For l = 0 To methDesc.Body.Parts.Count-1
                        partDesc = methDesc.Body.Parts(l)
                        Console.WriteLine(vbTab + vbTab + _
                        vbTab + vbTab + "{0}", partDesc.Name)
                    Next l
                End If
            Next k
        Next j
    Next i

End Sub

Keterangan

Kontrak Windows Communication Foundation (WCF) adalah kumpulan operasi yang menentukan apa yang dikomunikasikan titik akhir ke dunia luar. Setiap operasi adalah pertukaran pesan. Misalnya, pesan permintaan dan pesan balasan terkait yang membentuk pertukaran pesan permintaan/balasan.

Objek ContractDescription digunakan untuk menjelaskan kontrak dan operasinya. ContractDescriptionDalam , setiap operasi kontrak memiliki yang sesuai OperationDescription yang menjelaskan aspek operasi, seperti apakah operasi satu arah atau permintaan/balasan. Masing-masing OperationDescription juga menjelaskan pesan yang membentuk operasi menggunakan kumpulan MessageDescription objek. ContractDescription berisi referensi ke antarmuka yang menentukan kontrak menggunakan model pemrograman. Antarmuka ini ditandai dengan ServiceContractAttribute, dan metodenya yang sesuai dengan operasi titik akhir ditandai dengan OperationContractAttribute.

Banyak properti pada OperationDescription memiliki properti yang sesuai dalam model pemrograman WCF pada OperationContractAttribute, misalnya, IsTerminating.

Konstruktor

Nama Deskripsi
OperationDescription(String, ContractDescription)

Menginisialisasi instans OperationDescription baru kelas dengan nama dan deskripsi kontrak tertentu.

Properti

Nama Deskripsi
BeginMethod

Mendapatkan atau mengatur metode mulai operasi.

Behaviors

Mendapatkan atau mengatur perilaku operasi yang terkait dengan operasi.

DeclaringContract

Mendapatkan atau mengatur kontrak tempat operasi berada.

EndMethod

Mendapatkan atau mengatur metode akhir operasi.

Faults

Mendapatkan deskripsi kesalahan yang terkait dengan deskripsi operasi.

HasProtectionLevel

Mendapatkan nilai yang menunjukkan apakah operasi telah memiliki set tingkat perlindungan.

IsInitiating

Mendapatkan atau menetapkan nilai yang menunjukkan apakah metode menerapkan operasi yang dapat memulai sesi di server (jika sesi seperti itu ada).

IsOneWay

Mendapatkan atau menetapkan nilai yang menunjukkan apakah operasi mengembalikan pesan balasan.

IsTerminating

Mendapatkan atau menetapkan nilai yang menunjukkan apakah operasi layanan menyebabkan server menutup sesi setelah pesan balasan, jika ada, dikirim.

KnownTypes

Mendapatkan jenis yang diketahui yang terkait dengan deskripsi operasi.

Messages

Mendapatkan atau mengatur deskripsi pesan yang membentuk operasi.

Name

Mendapatkan atau mengatur nama deskripsi operasi.

OperationBehaviors

Mendapatkan serangkaian perilaku untuk operasi.

ProtectionLevel

Mendapatkan atau mengatur tingkat perlindungan untuk operasi.

SyncMethod

Mendapatkan atau mengatur metode sinkronisasi layanan dari deskripsi operasi.

TaskMethod

Mendapatkan atau mengatur metode yang digunakan untuk operasi tugas.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ShouldSerializeProtectionLevel()

Mengembalikan nilai yang menunjukkan apakah ProtectionLevel properti telah berubah dari nilai defaultnya dan harus diserialisasikan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk