Aracılığıyla paylaş


Kendini Barındırma

SelfHost örneği, konsol uygulamasında şirket içinde barındırılan bir hizmetin nasıl uygulanduğunu gösterir. Bu örnek, Başlarken'i temel alır. Hizmet yapılandırma dosyası Web.config'den App.config olarak yeniden adlandırıldı ve konağın kullandığı temel adresi yapılandıracak şekilde 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ş.

Not

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 CalculatorService tür için bir ServiceHost 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. Şirket içinde barındırılan durumda, temel adresi kendiniz belirtmeniz gerekir. Bu, aşağıdaki örnek yapılandırmada add gösterildiği gibi baseAddresses> alt< öğesi, konağın <>alt öğesi, hizmet> 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çin Tek Seferlik Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örnekleri Oluş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 bkz.