मैं एक ही समस्या थी के रूप में आप से किया था और क्या मैंने किया था rabbitMQDotNetClient के स्रोत कोड को संपादित करने के लिए किया गया था।
फ़ाइल: RabbitMQInputChannel.cs
public override void Open(TimeSpan timeout)
{
if (State != CommunicationState.Created && State != CommunicationState.Closed)
throw new InvalidOperationException(string.Format("Cannot open the channel from the {0} state.", base.State));
OnOpening();
#if VERBOSE
DebugHelper.Start();
#endif
//Create a queue for messages destined to this service, bind it to the service URI routing key
#if USE_DEFINED_QUEUE_NAMES
//here we create a queue that uses the name given in the service address in the wcf binding.
//if the address in the web.config is: soap.amq:///QueueName
//the name of the queue will be: QueueName
//LVV
string queue = m_model.QueueDeclare(base.LocalAddress.Uri.PathAndQuery, true, false, false, null);
#else
string queue = m_model.QueueDeclare();
#endif
m_model.QueueBind(queue, Exchange, base.LocalAddress.Uri.PathAndQuery, null);
//Listen to the queue
m_messageQueue = new QueueingBasicConsumer(m_model);
m_model.BasicConsume(queue, false, m_messageQueue);
#if VERBOSE
DebugHelper.Stop(" ## In.Channel.Open {{\n\tAddress={1}, \n\tTime={0}ms}}.", LocalAddress.Uri.PathAndQuery);
#endif
OnOpened();
}
संकलित झंडा USE_DEFINED_QUEUE_NAMES साथ। यह आपके app.config या web.config फ़ाइल में दिए गए नाम के साथ एक कतार का नाम बनाएगा। तुम हमेशा QueueDeclare (...) यदि आप अपने कतारों लोगों मैं बना रहा हूं की तुलना में अलग तरह से व्यवहार करना चाहते हैं पर कतारों विकल्प बदल सकते हैं। चीयर्स!
धन्यवाद। यही वह जवाब है जिसे मैं ढूंढ रहा था। यह मूल रूप से बनाता है यह व्यर्थ भले ही यह आप इस पर नियंत्रण नहीं दे सकता एक WCF RabbitMQ के लिए बाध्यकारी है। –