WCF-Dienst wird nicht automatisch gestartet, wenn Nachrichten über MSMQ verfügbar sind
Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn der Windows Communication Foundation (WCF)-Dienst aufgrund ausstehender Nachrichten in der Message Queuing (MSMQ)-Warteschlange nicht automatisch gestartet wird.
Ursprüngliche Produktversion: Internetinformationsdienste 8.0, Internetinformationsdienste 8.5
Ursprüngliche KB-Nummer: 2974327
Problembeschreibung
Ein IIS-Anwendungspool hostet zwei unterschiedliche WCF-Dienste, wobei einer die net.msmq Bindung und der andere die Bindung msmq.formatname verwendet. Wenn Nachrichten an den WCF-Dienst, die die Bindung verwenden, net.msmq in der MSMQ-Warteschlange ausstehen, wird der WCF-Dienst nicht automatisch gestartet.
Ursache
Es handelt sich hierbei um ein beabsichtigtes Verhalten. WAS ist so konzipiert, dass, wenn ein einzelner IIS-Anwendungspool über mehrere WCF-Dienste verfügt, die gemischte Msmq-Bindungstypen verwenden, der msmq.formatname Dienst Vorrang hat und das Flag zum Neustart des net.msmq Diensts auf "nein" festgelegt ist. Daher startet nur der dienst, der verwendet, msmq.formatname automatisch den w3wp-Prozess für diesen Anwendungspool, wenn Nachrichten in der MSMQ-Warteschlange verfügbar werden.
Lösung
Die Problemumgehung besteht darin, zwei separate Anwendungspools für Ihre WCF-Dienste zu verwenden, wobei die beiden unterschiedlichen msmq-Bindungen getrennt werden.