Aracılığıyla paylaş


Windows Hizmet Uygulamasında Barındırma

Windows hizmetleri (eski adıyla Windows NT hizmetleri), özellikle uzun süre çalışan bir yürütülebilir dosyada bulunması gereken ve kullanıcı arabiriminin herhangi bir biçimini görüntülemeyen uygulamalara uygun bir işlem modeli sağlar. Bir Windows hizmet uygulamasının işlem ömrü, Windows hizmet uygulamalarını başlatmanıza, durdurmanıza ve duraklatmanıza olanak tanıyan hizmet denetim yöneticisi (SCM) tarafından yönetilir. Bir Windows hizmet işlemini bilgisayar başlatıldığında otomatik olarak başlatacak şekilde yapılandırarak "her zaman açık" uygulamalar için uygun bir barındırma ortamı haline getirebilirsiniz. Windows hizmet uygulamaları hakkında daha fazla bilgi için bkz . Windows Hizmet Uygulamaları.

Uzun süre çalışan Windows Communication Foundation (WCF) hizmetlerini barındıran uygulamalar, Windows hizmetleriyle birçok özelliği paylaşır. Özellikle WCF hizmetleri, kullanıcıyla doğrudan etkileşim kurmayan ve bu nedenle herhangi bir kullanıcı arabirimi biçimi uygulamayan uzun süre çalışan sunucu yürütülebilir dosyalarıdır. Bu nedenle, WCF hizmetlerini bir Windows hizmet uygulamasının içinde barındırmak, sağlam, uzun süre çalışan WCF uygulamaları oluşturmak için bir seçenektir.

WCF geliştiricileri genellikle WCF uygulamalarını bir Windows hizmet uygulamasının içinde mi yoksa Internet Information Services (IIS) içinde mi yoksa Windows İşlem Etkinleştirme Hizmeti (WAS) barındırma ortamında mı barındıracaklarına karar vermelidir. Aşağıdaki koşullar altında Windows hizmet uygulamalarını kullanmayı düşünmelisiniz:

  • Uygulamanız için açık etkinleştirme gerekiyor. Örneğin, ilk gelen iletiye yanıt olarak dinamik olarak başlatılmak yerine uygulamanızın sunucu başlatıldığında otomatik olarak başlatılması gerektiğinde Windows hizmetlerini kullanmanız gerekir.

  • Uygulamanızı barındıran işlem başlatıldıktan sonra çalışır durumda kalmalıdır. Başlatıldıktan sonra, hizmet denetim yöneticisini kullanan bir sunucu yöneticisi tarafından açıkça kapatılmadığı sürece bir Windows hizmet işlemi çalışmaya devam eder. Sistem kaynaklarını en iyi şekilde kullanmak için IIS veya WAS'de barındırılan uygulamalar dinamik olarak başlatılabilir ve durdurulabilir. Barındırma işlemlerinin ömrü üzerinde açık denetim gerektiren uygulamalar IIS veya WAS yerine Windows hizmetlerini kullanmalıdır.

  • WCF hizmetinizin Windows Server 2003'te çalışması ve HTTP dışındaki aktarımları kullanması gerekir. Windows Server 2003'te IIS 6.0 barındırma ortamı yalnızca HTTP iletişimi ile sınırlıdır. Windows hizmet uygulamaları bu kısıtlamaya tabi değildir ve net.tcp, net.pipe ve net.msmq gibi tüm aktarım WCF desteklerini kullanabilir.

Nasıl yapılır

  1. Bir Windows hizmet uygulaması oluşturun. Ad alanı sınıflarını kullanarak yönetilen kodda System.ServiceProcess Windows hizmet uygulamaları yazabilirsiniz. Bu uygulama, öğesinden ServiceBasedevralan bir sınıf içermelidir.

  2. WCF hizmetlerinin ömrünü Windows hizmet uygulamasının ömrüne bağlayın. Genellikle, bir Windows hizmet uygulamasında barındırılan WCF hizmetlerinin barındırma hizmeti başlatıldığında etkin olmasını, barındırma hizmeti durdurulduğunda iletileri dinlemeyi durdurmasını ve WCF hizmeti bir hatayla karşılaştığında barındırma işlemini kapatmasını istersiniz. Bu, aşağıdaki gibi gerçekleştirilebilir:

    WCF hizmetlerini barındıran Windows hizmet uygulamaları, WCF kullanmayan Windows hizmet uygulamalarıyla aynı şekilde dağıtılır ve yönetilir.

Ayrıca bkz.