ServiceMetadataBehavior Kelas

Definisi

Mengontrol publikasi metadata layanan dan informasi terkait.

public ref class ServiceMetadataBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceMetadataBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceMetadataBehavior = class
    interface IServiceBehavior
Public Class ServiceMetadataBehavior
Implements IServiceBehavior
Warisan
ServiceMetadataBehavior
Penerapan

Contoh

Contoh kode berikut menunjukkan penggunaan ServiceMetadataBehavior dalam file konfigurasi untuk mengaktifkan dukungan metadata untuk PERMINTAAN HTTP GET dan WS-Transfer GET.

        // Create a new metadata behavior object and set its properties to
        // create a secure endpoint.
        ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
        //sb.EnableHelpPage= true;
        //sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
        //myServiceHost.Description.Behaviors.Add(sb);
    }

      private void SnippetServiceMetadataBehavior()
      {
          // service for which <<indigo2>> automatically adds a
          // ServiceMetadataBehavior to publish metadata as well as
          // an HTML service help page

          // from C_HowToSecureEndpoint\cs
          // Create a new metadata behavior object and set its properties to
          // create a secure endpoint.
          ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
/*          sb.EnableHelpPage = true;
          sb.enableMetadataExchange = true;
          sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
          myServiceHost.Description.Behaviors.Add(sb);
 */
      }

    private void Run()
    {

      // T:System.ServiceModel.ServiceMetadataBehavior
      // <Snippet#0>

      // Create a ServiceHost for the service type and use the base address from configuration.
      ServiceHost host = new ServiceHost(typeof(SampleService));
      try
      {
        ServiceMetadataBehavior metad
          = host.Description.Behaviors.Find<ServiceMetadataBehavior>();
        if (metad == null)
          metad = new ServiceMetadataBehavior();
        metad.HttpGetEnabled = true;
        host.Description.Behaviors.Add(metad);
        host.AddServiceEndpoint(
          ServiceMetadataBehavior.MexContractName,
          MetadataExchangeBindings.CreateMexHttpBinding(),
          "mex"
        );

        // The service can now be accessed.
        Console.WriteLine("The service is ready.");
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.WriteLine();
        Console.ReadLine();

        // Close the ServiceHostBase to shutdown the service.
        host.Close();

        // </Snippet#0>

Keterangan

ServiceMetadataBehavior Tambahkan objek ke ServiceDescription.Behaviors koleksi (atau <elemen serviceMetadata> dalam file konfigurasi aplikasi) untuk mengaktifkan atau menonaktifkan publikasi metadata layanan. Namun, menambahkan perilaku ke layanan tidak cukup untuk mengaktifkan publikasi metadata:

  • Untuk mengaktifkan pengambilan metadata GET WS-Transfer, Anda juga harus menambahkan titik akhir ke layanan Anda di mana kontraknya adalah IMetadataExchange. Misalnya, lihat Cara: Menerbitkan Metadata untuk Layanan Menggunakan Kode. Titik IMetadataExchange akhir dapat dikonfigurasi seperti halnya titik akhir lainnya.

  • Untuk mengaktifkan pengambilan metadata HTTP GET, atur properti ke HttpGetEnabledtrue. Untuk informasi selengkapnya tentang alamat metadata HTTP GET, lihat HttpGetEnabled.

Alamat IMetadataExchange titik akhir mengikuti aturan normal mengenai kombinasi alamat dasar dan alamat titik akhir. Untuk informasi selengkapnya, lihat Menerbitkan Metadata.

Untuk mengaktifkan publikasi metadata menggunakan file konfigurasi, tambahkan <elemen serviceMetadata> ke <elemen serviceBehaviors> dan kaitkan elemen dengan <elemen layanan> yang metadatanya ingin Anda terbitkan. Misalnya, lihat Cara: Menerbitkan Metadata untuk Layanan Menggunakan File Konfigurasi. Kelas memiliki anggota berikut:

  • Properti HttpGetEnabled menentukan apakah metadata dikembalikan untuk permintaan HTTP/GET.

  • Properti HttpGetUrl (bersama dengan alamat dasar) menentukan alamat HTTP/GET.

  • Properti HttpsGetEnabled menentukan apakah metadata dikembalikan untuk permintaan HTTPS/GET.

  • Properti HttpsGetUrl (bersama dengan alamat dasar) menentukan alamat HTTPS/GET.

  • Properti MetadataExporter mengembalikan pengekspor yang mendasar.

ServiceMetadataBehavior Biasanya digunakan dari file konfigurasi aplikasi. Lihat bagian Contoh untuk contoh kode.

Konstruktor

Nama Deskripsi
ServiceMetadataBehavior()

Menginisialisasi instans baru dari kelas ServiceMetadataBehavior.

Bidang

Nama Deskripsi
MexContractName

Mengembalikan string IMetadataContract.

Properti

Nama Deskripsi
ExternalMetadataLocation

Mendapatkan atau menetapkan nilai yang merupakan lokasi metadata layanan.

HttpGetBinding

Mendapatkan atau mengatur pengikatan yang digunakan untuk mengonfigurasi pengambilan metadata saat transportasi adalah HTTP.

HttpGetEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menerbitkan metadata layanan untuk pengambilan menggunakan permintaan HTTP/GET.

HttpGetUrl

Mendapatkan atau mengatur lokasi publikasi metadata untuk permintaan HTTP/GET.

HttpsGetBinding

Mendapatkan atau mengatur pengikatan yang digunakan untuk mengonfigurasi pengambilan metadata saat transportasi adalah HTTPS.

HttpsGetEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menerbitkan metadata layanan untuk pengambilan menggunakan permintaan HTTPS/GET.

HttpsGetUrl

Mendapatkan atau mengatur lokasi publikasi metadata untuk permintaan HTTPS/GET.

MetadataExporter

Mendapatkan atau mengatur objek internal MetadataExporter yang digunakan untuk menerbitkan metadata layanan.

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)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

IServiceBehavior Implementasi yang mengonfigurasi pengikatan yang mendasar untuk mendukung perilaku.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

IServiceBehavior Implementasi yang mengonfigurasi pengikatan yang mendasar untuk mendukung perilaku pada layanan.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

IServiceBehavior Implementasi yang memvalidasi bahwa deskripsi layanan dapat mendukung perilaku.

Berlaku untuk