簡體   English   中英

如何使用MSMQ服務

[英]How to consume MSMQ service

我想使用msmq服務。 但是無法發送消息到隊列。 這是我的代碼。

System.Messaging.MessageQueue msmQ = new System.Messaging.MessageQueue("net.msmq://myServerName/private/MyQueueName");

msg ="<nodeDetails><node>Node1</node></nodeDetails>";//Dummy value. it is XML structure consist of multiple node
 msmQ.Send(msg);

它給我關於msmQ.Send(msg)的錯誤

錯誤消息=“長度不能小於零。參數名稱:長度”

以下內容已安裝在我的m / c上

  1. Microsoft Message Queue(MSMQ)服務器
  2. 窗口激活過程

當我嘗試

 bool msmQExits = MessageQueue.Exists("net.msmq://myServerName/private/MyQueueName");

但是它給出“路徑語法無效”

我什么都做不了。 我只有一個msmq URL“ net.msmq:// myServerName / private / MyQueueName”

請讓我知道如何使用此類網址,並將消息發送到“ MyQueueName”

任何幫助表示贊賞

提前致謝。

將您的隊列名稱更改為此:

var queueName = @"FormatName:DIRECT=HTTP://URLAddressSpecification/net.msmq://myServerName/private/MyQueueName";

並且您無法通過MessageQueue.Exists方法檢查是否存在遠程查詢。 它將始終引發異常。

您可以檢查以下鏈接以獲取更多信息:

同樣,問題不在於消息,您看到該長度小於0。如果您更深入並檢查堆棧跟蹤,您會發現隊列名稱格式無效。 它嘗試在隊列名稱中查找FORMAT出現的位置,但未找到它, Substring()方法在那里返回-1

堆棧跟蹤:

   at System.String.Substring(Int32 startIndex, Int32 length)
   at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
   at System.Messaging.MessageQueue.get_FormatName()
   at System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)
   at System.Messaging.MessageQueue.Send(Object obj)
   at MessagingTest.Program.SendMessage(String str, Int32 x) in c:\Users\ivan.yurchenko\Documents\Visual Studio 2013\Projects\MSMQTestProjects\MessagingTest\MessagingTest\Program.cs:line 21
   at MessagingTest.Program.<Main>b__1() in c:\Users\ivan.yurchenko\Documents\Visual Studio 2013\Projects\MSMQTestProjects\MessagingTest\MessagingTest\Program.cs:line 38
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

這是有關如何使用服務的示例。

它具有Wcf服務,物理MSMQ和客戶端項目。 因此,您必須具有WCF服務來接收消息,並且必須具有msmq來存儲消息,並且必須具有客戶端才能發送消息。

http://www.codeproject.com/Articles/326909/Creating-a-WCF-Service-with-MSMQ-Communication-and

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM