2011-03-18 23 views
5

का उपयोग कर रहा सॉफ्टवेयर स्थानीय स्तर पर चल रहा है और जो निम्न करता है सर्वर के एक नंबर पर है:MSMQ :: GetPrivateQueuesByMachine में विफल रहता है जब "स्थानीय होस्ट"

System.Messaging.MessageQueueException: Message Queue service is not available. 
    at System.Messaging.MessageQueue.GetPrivateQueuesByMachine(String machineName) 
:

विशेष रूप से
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost"); 

एक सर्वर एक अपवाद फेंकता

MSMQ ही स्थापित के रूप में यह मेरी अन्य मशीनों पर है। मैं भी कई WCF सेवा सफलतापूर्वक net.msmq://localhost/private/... करने के लिए बाध्य है।

वहाँ कुछ कारण यह है कि MSMQ स्थानीय होस्ट करने के लिए बाध्य नहीं किया जा सकता है?

MSDN की जांच करने के बाद, ऐसा लगता है कि मुझे "।" का उपयोग करना चाहिए, जो कि बहुत अच्छा काम करता है, लेकिन मैं स्थानीयहोस्ट को पूरी तरह से कुशल होने पर कोड बदलने और फिर से तैरने से बचाना चाहता हूं।

var queues = MessageQueue.GetPrivateQueuesByMachine("."); // succeeds 
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost"); // fails 
var queues = MessageQueue.GetPrivateQueuesByMachine("127.0.0.1"); // fails 
var queues = MessageQueue.GetPrivateQueuesByMachine("machineName"); // fails 
+0

क्या आपको इस मुद्दे के लिए कोई समाधान मिला? यदि ऐसा है तो आप मेरी मदद करेंगे –

+0

@ अरुण मैंने नहीं किया। मैंने अभी "।" का उपयोग शुरू किया हर जगह। शर्म की बात है ... = [ – Langdon

+0

ठीक है रीप्ले के लिए धन्यवाद ... मुझे लगता है कि मुझे किसी और तरीके से खोजने की ज़रूरत है .. –

उत्तर

1

वहाँ एक होस्ट फ़ाइल प्रविष्टि मानचित्रण होने की संभावना है कुछ मशीन नाम के आईपी पते localhosts: Fwiw, यहाँ कुछ अन्य परीक्षण मैं भागा के परिणाम हैं।

+2

इस सवाल की जांच करने के लिए उल्लेख करना है। स्थानीयहोस्ट वास्तव में सूचीबद्ध है और एक वेब ब्राउज़र से काम करता है। साथ ही, यह देखते हुए कि 127.0.0.1 विफल रहता है, यह एक तरह से मेजबान फ़ाइल श्रेष्ठ माना जाता। – Langdon

+0

यह सच है। आपके परीक्षण में, आपके पास "।" है सफल लेकिन "machinename" नहीं। मुझे लगता है machineName केवल आपके वास्तविक मशीन नाम छुपा रहा है। "।" स्थानीय मशीन नाम को हल करना चाहिए और फिर कनेक्ट करना चाहिए। इसलिए मशीन के अपने नाम को हल करने के तरीके में कुछ गड़बड़ है। –

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