Hosting IIS Menggunakan Kode Sebaris

Sampel InlineCode menunjukkan cara mengimplementasikan layanan yang di-hosting oleh Layanan Informasi Internet (IIS), di mana kode layanan terkandung dalam baris dalam file .svc dan dikompilasi sesuai permintaan. Kode layanan juga dapat diimplementasikan langsung dalam file kode sumber yang terletak di direktori \App_Code aplikasi, atau dikompilasi ke dalam rakitan yang disebarkan di \bin. Sampel ini tidak menunjukkan teknik ini.

Catatan

Prosedur pengaturan dan instruksi build untuk sampel ini terletak di akhir topik ini.

Sampel menunjukkan layanan umum yang mengimplementasikan kontrak yang menentukan pola komunikasi balasan permintaan. Layanan ini dihosting di IIS dan kode layanan sepenuhnya terkandung dalam file Service.svc. Layanan ini diaktifkan host dan dikompilasi sesuai permintaan oleh pesan pertama yang dikirim ke layanan. Tidak ada pra-kompilasi yang diperlukan. Layanan menerapkan kontrak ICalculator seperti yang didefinisikan dalam kode berikut:

// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
    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);
}

Implementasi layanan menghitung dan mengembalikan hasil yang sesuai.

<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>

// Service class that implements the service contract.
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        return n1 + n2;
    }
    public double Subtract(double n1, double n2)
    {
        return n1 - n2;
    }
    public double Multiply(double n1, double n2)
    {
        return n1 * n2;
    }
    public double Divide(double n1, double n2)
    {
        return n1 / n2;
    }
}

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

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

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. Setelah solusi dibuat, jalankan setup.bat untuk menyiapkan Aplikasi ServiceModelSamples di IIS 7.0. Direktori ServiceModelSamples sekarang akan muncul sebagai Aplikasi IIS 7.0.

  4. Untuk menjalankan sampel dalam konfigurasi tunggal atau lintas komputer, ikuti petunjuk di Menjalankan Sampel Windows Communication Foundation. Untuk contoh tentang cara membuat aplikasi klien yang dapat memanggil layanan ini, lihat Cara: Membuat Klien.

Lihat juga