2009-07-28 17 views
15

मुझे डब्ल्यूसीएफ सेवाएं हैं जो आईआईएस 7 में होस्ट किए गए net.msmq प्रोटोकॉल का उपयोग करती हैं। मेरी समस्या यह है कि कतार पर एक नया संदेश प्रकट होने पर सेवाएं सक्रिय नहीं होती हैं, आपको शारीरिक रूप से पहले किसी भी संदेश को चुनना शुरू करने से पहले सेवाओं को ब्राउज़ करें।डब्ल्यूसीएफ net.msmq सेवा ऑटो सक्रियण

वहाँ किसी भी तरह से स्वत: इन सेवाओं को सक्रिय करने के है?

किसी भी मदद

सधन्यवाद, ब्रायन के लिए अग्रिम धन्यवाद

+0

हमें एक ही समस्या है, मैं माइक्रोसॉफ्ट के साथ उनके समर्थन के मुद्दे पर पहुंचने के लिए एक समर्थन कॉल खोल रहा हूं। मुझे आश्चर्य है कि सही त्रुटि या कारण जानने का कोई तरीका है कि यह – user80855

उत्तर

3

वहाँ एक बहुत अच्छी तीन भाग श्रृंखला है हो रही WCF, MSMQ पर और ऊपर और चल रहा है और टॉम Hollander के ब्लॉग पर एक साथ अच्छी तरह से खेल रहा IIS:

शायद वे मदद करेंगे? आईआईएस 7 में होस्ट किया गया एमएसएमक्यू निश्चित रूप से डब्लूसीएफ संदेशों को स्वचालित रूप से उठा रहा है, अगर सब कुछ सही तरीके से कॉन्फ़िगर किया गया है।

कुछ सेटिंग्स हैं जो बॉक्स से बाहर नहीं हैं - भाग 1 देखें। आपको अतिरिक्त विंडोज़ सुविधाओं को जोड़ने और सक्षम करने की आवश्यकता हो सकती है, और आपको WAS (विंडोज सक्रियण सर्वर, कॉन्फ़िगर करने के लिए appcmd.exe उपकरण चलाने की आवश्यकता हो सकती है, आईआईएस 7 का हिस्सा) स्वचालित रूप से गैर-http अनुरोधों को संभालने के लिए।

मार्क

3

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन इस मामले में किसी और है कि समस्या के साथ आने ...

सेवा एक बार अनुप्रयोग पूल को सक्रिय नहीं है बंद कर दिया गया है, तो यह सबसे शायद है क्योंकि कतार नाम डी सेवा URI से मेल नहीं खाता और इतने था पता नहीं है जो आवेदन को सक्रिय करें।

उदाहरण के लिए, यदि आप डिफ़ॉल्ट वेब साइट में एक आवेदन "सेवाएं" बना सकते हैं और एक FirstService.svc है, कतार नाम होना चाहिए निजी $ \ सेवा/FirstService.svc

[संपादित करें: कतार नाम बहुवचन]

2

में भी आवेदन नाम शामिल करना चाहिए इस तथ्य यह है कि था MSMQ का उपयोग कर स्वत: सक्रिय या "वार्म अप" नहीं होगा जब की वजह से है। समाधान IIS 7 Warm Up module पर एक नज़र डालें या (हम एक F5 डिवाइस का उपयोग कर रहे हैं यह करने के लिए) एक लोड संतुलन पिंग आपकी सेवा की तरह कुछ है करने के लिए कर रहे हैं। अद्यतन - यहां IIS 8 App Initialization

+0

सक्रिय क्यों नहीं कर रहा है आपका लिंक मर गया। आईआईएस 8.0 आवेदन प्रतिस्थापन शुरू किया गया है? –

+0

हाँ, आप सही हैं –

+0

यह समाधान मेरे लिए काम किया। आईआईएस 7.5 में, आपको एक अलग स्थापना के रूप में एप्लिकेशन प्रारंभिक मॉड्यूल डाउनलोड करना होगा। –

0

मैंने पाया कि विंडोज 7 पर आईआईएस 7.5 और .NET 4.0 के साथ, NetMsmqActivator सेवा अक्षम है और डिफ़ॉल्ट रूप से बंद है। आप सक्षम करना होगा और इसे शुरू करने की जरूरत है।

इसके अलावा, कतार को आवेदन पूल द्वारा उपयोग किए गए खाते के लिए "संदेश प्राप्त करें" और "पीक संदेश" और NetMsmqActivator द्वारा उपयोग किए गए खाते के लिए "पीक संदेश" की अनुमति देनी चाहिए। (:, कि 3 'पी है रिक्तियों के साथ देखभाल आप इसे टाइप करना होगा) और NETWORK SERVICE एक डिफ़ॉल्ट स्थापना पर, आप IIS APPPOOL\ASP.NET v4.0 उपयोग कर सकते हैं।

0

हम इस समस्या को एक माह से अधिक समय अब ​​एक प्रणाली में इन गुणों के साथ अवलोकन किया गया है:

  • मिश्रित सेवाओं, दोनों http और msmq में होस्ट आधारित IIS7.5
  • msmq प्रोटोकॉल पर उपयोग किया गया था : net.msmq
  • सेवाओं जड़ वेब साइट में hosed नहीं है, लेकिन नीचे

हम सभी दिशा निर्देशों के माध्यम से चल रहे हैं आवेदन और समस्या को सुलझाने में शामिल tecniques: * आईआईएस और आवेदन स्तर पर प्रोटोकॉल सेटअप। * कतार नामकरण * कतार, विंडोज सेवाओं और आईआईएस

की सुरक्षा सेटिंग्स लेकिन अभी भी समस्या बनी हुई है। हमारा समाधान इस का पालन करना था: http://www.daczkowski.net/tag/wcf/ यह हमारे आईआईएस पर ऐपफैब्रिक स्थापित करना और ऑटोस्टार्ट के लिए सेवाएं सेट करना है।

समस्या ही

पूरी तरह से परिभाषित करने के लिए नहीं बल्कि मुश्किल है, क्या हम कह सकते हैं केवल यह है कि

-1

बस IIS में 'सक्षम' के लिए आवेदन स्वत: प्रारंभ सेट "कभी कभी सेवा कतार से प्रसंस्करण बंद हो जाएगा"

0

मेरा समाधान यहां कुछ उत्तरों का मिश्रण है। मेरी कतार में प्रमाणीकरण सक्षम है, इसलिए प्रमाणीकरण का उपयोग नहीं होने पर कुछ चरणों की आवश्यकता नहीं हो सकती है।

ये कदम उठाएँ मैं काम करने के लिए यह डाल करने के लिए का पालन करें, एक विंडोज़ 2012 को है:

1) गैर- http सक्रियण सेवाओं वैप स्थापित करें (https://msdn.microsoft.com/en-us/library/ms731053(v=vs.110).aspx)

2) के रूप में एक ही नाम के साथ कतार बनाएं आईआईएस आवेदन, इस private$/<WCF application>/myservice.svc की तरह।

Net.Msmq Listener Adapter सेवा VISesmedT द्वारा इंगित आईआईएस में कतार और डब्ल्यूसीएफ एप्लिकेशन नाम से मेल खाने का प्रयास करेगी।

3) साइट और एप्लिकेशन पर प्रोटोकॉल सक्षम करें।

पहले बाध्यकारी बनाने के लिए:।

% windir% \ system32 \ inetsrv \ appcmd.exe सेट साइट "डिफ़ॉल्ट वेब साइट" - + बाइंडिंग [प्रोटोकॉल = 'net.tcp', bindingInformation = ' 808: * ']

साइट बाइंडिंग इस तरह दिखना चाहिए: enter image description here

तब साइट के लिए प्रोटोकॉल net.msmq सक्षम

% windir% \ system32 \ inetsrv \ appcmd.exe सेट config -section: system.applicationHost/साइटों "/ [name = 'डिफ़ॉल्ट वेब साइट'] [पथ = '/'] enabledProtocols।।": "http, net.msmq"/प्रतिबद्ध: एपहोस्ट

यह आदेश प्रोटोकॉल को फिर से लिख देगा, इसलिए यदि आपके पास http सक्षम से अधिक है, तो आपको इसे कमांड लाइन में जोड़ना होगा।

उन्नत Settins आप इस देखना चाहिए:

enter image description here

और अंत में आवेदन के लिए प्रोटोकॉल net.msmq सक्षम करें।

% windir% \ system32 \ inetsrv \ appcmd.exe सेट एप्लिकेशन "डिफ़ॉल्ट वेब साइट /" /enabledProtocols:http,net.tcp

आवेदन के लिए उन्नत सेटिंग्स स्क्रीन ही दिखाना चाहिए ऐसी चीज जो साइट के लिए उन्नत सेटिंग्स पर सक्षम प्रोटोकॉल लाइन पर दिखाई देती है।

4) आईआईएस आवेदन के लिए कतार पर अनुमतियां, पिक और डिलीट करने, गुण प्राप्त करने और गुण सेट करने के लिए अनुमति दें। डिफ़ॉल्ट खाता IIS AppPool \ DefaulApp

5) सेवाओं Net.Msmq Listener Adapter के लिए कतार पर झांकना अनुमति दें है (डिफ़ॉल्ट Network Service है)

की जरूरत नहीं करना चाहिए, लेकिन मैं अनुमतियाँ परिवर्तित करने के बाद पुनः आरंभ करने के लिए किया था।

चेकों: अगर WCF सेटअप ठीक बस इसे सक्रिय करने के लिए WCF आवेदन ब्राउज़ का उपयोग है

  • जांच करने के लिए। कतार में किसी भी संदेश को संसाधित किया जाना चाहिए।

  • यह जांचने के लिए कि क्या डब्ल्यूएएसएफ आवेदन सक्रिय कर रहा है, एप्लिकेशन पूल रीसायकल करें और एक नया संदेश भेजें। यदि WAS काम करता है तो यह तुरंत प्रक्रिया होनी चाहिए।

संबंधित मुद्दे