Aracılığıyla paylaş


Kuyruğa Alınan Bir Uygulamayı Web'de Barındırma

Windows İşlem Etkinleştirme Hizmeti (WAS), Windows Communication Foundation (WCF) hizmetlerini barındıran uygulamalar içeren çalışan işlemlerinin etkinleştirilmesini ve kullanım ömrünü yönetir. WAS işlem modeli, HTTP bağımlılığını kaldırarak HTTP sunucusu için IIS 6.0 işlem modelini genelleştirir. Bu, WCF hizmetlerinin ileti tabanlı etkinleştirmeyi destekleyen ve belirli bir bilgisayarda çok sayıda uygulama barındırma olanağı sunan bir barındırma ortamında hem HTTP hem de net.msmq ve msmq.formatname gibi HTTP dışı protokolleri kullanmasına olanak tanır.

WAS, bir veya daha fazla ileti uygulama tarafından kullanılan kuyruklardan birine yerleştirildiğinde kuyruğa alınmış bir uygulamayı etkinleştiren bir Message Queuing (MSMQ) etkinleştirme hizmeti içerir. MSMQ etkinleştirme hizmeti, varsayılan olarak otomatik olarak başlatılan bir NT hizmetidir.

WAS ve avantajları hakkında daha fazla bilgi için bkz . Windows İşlem Etkinleştirme Hizmeti'nde Barındırma. MSMQ hakkında daha fazla bilgi için bkz . Kuyruklara Genel Bakış.

WAS'de Kuyruk Adresleme

WAS uygulamalarının Tekdüzen Kaynak Tanımlayıcısı (URI) adresleri vardır. Uygulama adreslerinin iki bölümü vardır: temel URI ön eki ve uygulamaya özgü, göreli adres (yol). Bu iki bölüm birlikte birleştirildiğinde bir uygulamanın dış adresini sağlar. Temel URI ön eki site bağlamasından oluşturulur ve site altındaki tüm uygulamalar için kullanılır; örneğin, "net.msmq://localhost", "msmq.formatname://localhost" veya "net.tcp://localhost". Uygulama adresleri daha sonra uygulamaya özgü yol parçaları ("/applicationOne" gibi) alınarak ve tam uygulama URI'sine ulaşmak için temel URI ön ekine eklenerek (örneğin, "net.msmq://localhost/applicationOne") oluşturulur.

MSMQ etkinleştirme hizmeti, MSMQ etkinleştirme hizmetinin iletiler için izlemesi gereken kuyrukla eşleşmesi için uygulama URI'sini kullanır. MSMQ etkinleştirme hizmeti başlatıldığında, almak üzere yapılandırıldığı bilgisayardaki tüm genel ve özel kuyrukları numaralandırır ve bunları iletiler için izler. MSMQ etkinleştirme hizmeti her 10 dakikada bir izlenecek kuyruk listesini yeniler. Kuyrukta bir ileti bulunduğunda, etkinleştirme hizmeti kuyruk adını net.msmq bağlaması için en uzun eşleşen uygulama URI'sine eşleştirir ve uygulamayı etkinleştirir.

Not

Etkinleştirilen uygulamanın kuyruk adının ön eki ile eşleşmesi (en uzun eşleşme) gerekir.

Örneğin, kuyruk adı: msmqWebHost/orderProcessing/service.svc. Uygulama 1'in altında service.svc içeren bir sanal dizin /msmqWebHost/orderProcessing varsa ve Uygulama 2'de altında orderProcessing.svc bulunan bir /msmqWebHost sanal dizini varsa, Uygulama 1 etkinleştirilir. Uygulama 1 silinirse, Uygulama 2 etkinleştirilir.

Not

Bir kuyruk oluşturulduğunda, MSMQ etkinleştirme hizmeti kuyruğun oluşturulduğu zamandan en fazla 10 dakika sonra kuyruk listesini yenileyene kadar ona gönderilen iletiler uygulamayı etkinleştirmez. Etkinleştirme hizmetinin yeniden başlatılması kuyruk listesini de yeniler.

Özel ve Genel Kuyrukların Adresleme Üzerindeki Etkisi

MSMQ etkinleştirme hizmeti, özel ve genel kuyruk izleme arasında ayrım yapmaz. Bu nedenle, aynı ada sahip genel ve özel kuyruklarınız olamaz. Bunu yaparsanız, Web'de barındırılan bir uygulama kuyruklardan herhangi birinden okumayı etkinleştirebilir.

Etkinleştirme için Kuyruk Yapılandırması

MSMQ etkinleştirme hizmeti, AĞ HİzMETİ olarak çalışır. Uygulamaları etkinleştirmek için kuyrukları izleyen hizmettir. Kuyruktan uygulamaları etkinleştirmek için kuyruğun, erişim denetimi listesindeki (ACL) iletilere göz atmak için AĞ HİzMETİ erişimini sağlaması gerekir.

Zehirli Mesajlaşma

WCF'de zehirli ileti işleme, yalnızca bir iletinin zehirlendiğini algılamakla kalmaz, aynı zamanda kullanıcı yapılandırmasına göre bir edat seçen kanal tarafından işlenir. Sonuç olarak, kuyrukta tek bir ileti vardır. Web'de barındırılan uygulama birbirini izleyen saatleri durdurur ve ileti yeniden deneme kuyruğuna taşınır. Yeniden deneme döngüsü gecikmesinin dikte ettiği bir noktada, ileti yeniden denemek için yeniden deneme kuyruğundan ana kuyruğa taşınır. Ancak bunun için kuyruğa alınan kanalın etkin olması gerekir. Uygulama WAS tarafından geri dönüştürüldüyse, kuyruğa alınan uygulamayı etkinleştirmek için ana kuyruğa başka bir ileti gelene kadar ileti yeniden deneme kuyruğunda kalır. Bu durumda geçici çözüm, uygulamayı yeniden etkinleştirmek için iletiyi yeniden deneme kuyruğundan el ile ana kuyruğa taşımaktır.

Alt Sorgu ve Sistem Kuyruğu Uyarı

WAS tarafından barındırılan bir uygulama, sistem genelindeki teslim edilemeyen ileti kuyruğu veya zehirli alt kuyruklar gibi alt kuyruklar gibi bir sistem kuyruğundaki iletilere göre etkinleştirilemez. Bu, ürünün bu sürümü için bir sınırlamadır.

Ayrıca bkz.