Aracılığıyla paylaş


Self-Host

SelfHost örneği, konsol uygulamasında kendi kendine barındırılan bir hizmetin nasıl uygulandığını gösterir. Bu örnek, "Başlarken" üzerine kurulmuştur. Hizmet yapılandırma dosyası Web.config'dan App.config'e olarak yeniden adlandırıldı ve konağın kullandığı temel adresi konfigüre etmek üzere değiştirildi. Hizmet kaynak kodu, yapılandırılan temel adresi sağlayan bir hizmet konağı oluşturan ve açan statik Main bir işlev uygulayacak şekilde değiştirildi. Hizmet uygulaması, her işlem için konsola çıkış yazacak şekilde değiştirildi. İstemci, hizmetin doğru uç nokta adresini yapılandırma dışında değiştirilmemiş.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Örnek, aşağıdaki örnek kodda gösterildiği gibi verilen ServiceHost tür için bir CalculatorService oluşturmak üzere statik bir ana işlev uygular.

// 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();
    }
}

Bir hizmet Internet Information Services (IIS) veya Windows İşlem Etkinleştirme Hizmeti'nde (WAS) barındırıldığında, hizmetin temel adresi barındırma ortamı tarafından sağlanır. Kendi barındırılan durumda, temel adresi kendiniz belirtmeniz gerekir. Bu, aşağıdaki örnek yapılandırmada gösterildiği gibi add öğesi, <baseAddresses> alt öğesi, <host> alt öğesi, <service> alt öğesi kullanılarak yapılır.

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

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları hem hizmet hem de istemci konsol pencerelerinde görüntülenir. Hizmeti ve istemciyi kapatmak için her konsol penceresinde ENTER tuşuna basın.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek veya bilgisayarlar arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.

Ayrıca bakınız