OperationDescription Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |