Host Mandiri

Sampel SelfHost menunjukkan cara menerapkan layanan yang di-hosting sendiri dalam aplikasi konsol. Sampel ini berdasarkan Memulai. File konfigurasi layanan telah berganti nama dari Web.config menjadi App.config dan diubah untuk mengonfigurasi alamat dasar, yang digunakan host. Kode sumber layanan telah diubah untuk menerapkan fungsi Main statik yang membuat dan membuka host layanan yang menyediakan alamat dasar yang telah dikonfigurasi. Implementasi layanan telah diubah untuk mencatat menulis ke konsol pada setiap operasi. Klien tidak diubah, kecuali untuk mengonfigurasi alamat titik akhir layanan yang benar.

Catatan

Prosedur penyiapan dan petunjuk pembuatan untuk sampel ini terdapat di akhir topik ini.

Sampel menerapkan fungsi utama statik untuk membuat ServiceHost untuk jenis CalculatorService yang diberikan, seperti yang ditunjukkan dalam kode sampel berikut.

// Host the service within this EXE console application.
public static void Main()
{
    // Create a ServiceHost for the CalculatorService type.
    using (ServiceHost serviceHost =
           new ServiceHost(typeof(CalculatorService)))
    {
        // Open the ServiceHost to create listeners
        // and start listening for messages.
        serviceHost.Open();

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

Ketika suatu layanan di-host dalam Layanan Informasi Internet (IIS) atau Layanan Aktivasi Proses Windows (WAS), alamat dasar layanan disediakan oleh lingkungan hosting. Untuk yang di-hosting sendiri, Anda harus menentukan alamat dasar sendiri. Layanan ini dilakukan dengan menggunakan elemen add, turunan dari <baseAddresses>, turunan dari <host>, turunan dari <layanan> seperti yang ditunjukkan dalam konfigurasi sampel berikut.

<service
    name="Microsoft.ServiceModel.Samples.CalculatorService"
    behaviorConfiguration="CalculatorServiceBehavior">
  <host>
    <baseAddresses>
      <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
    </baseAddresses>
  </host>
  ...
</service>

Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol layanan dan klien. Tekan ENTER di setiap jendela konsol untuk mematikan layanan dan klien.

Untuk menyiapkan, membangun, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti petunjuknya di Membangun Sampel WCF.

  3. Untuk menjalankan sampel dalam konfigurasi tunggal atau lintas komputer, ikuti petunjuk di Menjalankan Sampel Windows Communication Foundation.

Lihat juga