我的留言未到达目的地。我没有收到错误。即使在那里打开了日记功能,它也不会出现在接收端的日志中。目标队列的权限设置为Everyone完全控制。目的地msmq服务的诊断显示msmq ping是好的。其他应用程序已在本月早些时候成功写入此队列。它出现在我的日记中(发送结束)。它没有出现在我的结尾或接收端的死信或交易死信中。我仔细检查了队列名称。我发现没有Google点击或其他SO问题。我广泛搜索了“system.messaging”问题,或“system.messaging”问题,以及其他一些更具体的搜索。
在这种特殊情况下,我使用的是ActiveX Formatter。
Public Shared Sub Send(QueuePath As String, Label As String, Body As String, FormatterType As FormatterTypes)
Dim MessageQueue As MessageQueue
Dim MessageQueueTransaction As New MessageQueueTransaction
Try
If MessageQueue.Exists(QueuePath) Then
'creates an instance MessageQueue, which points
'to the already existing MessageQueue
MessageQueue = New MessageQueue(QueuePath)
If Not MessageQueue.CanWrite Then Exit Sub
Else
Throw New ArgumentException(String.Format("Queue does not exist '{0}'", QueuePath), "QueuePath")
End If
Dim Formatter As IMessageFormatter
Select Case FormatterType
Case FormatterTypes.ActiveX
Formatter = New ActiveXMessageFormatter
Case FormatterTypes.Binary
Formatter = New BinaryMessageFormatter
Case FormatterTypes.Xml
Formatter = New XmlMessageFormatter
End Select
Using Message As New Message(Body, Formatter)
Message.Label = Label
Message.AcknowledgeType = AcknowledgeTypes.FullReachQueue
Message.UseJournalQueue = True
Message.UseDeadLetterQueue = True
MessageQueueTransaction.Begin()
MessageQueue.Send(Message, MessageQueueTransaction)
MessageQueueTransaction.Commit()
End Using
Catch ex As MessageQueueException
MessageQueueTransaction.Abort()
Finally
MessageQueueTransaction.Dispose()
End Try
End Sub
答案 0 :(得分:1)
接收处有消息,但在日记队列中无处可见。
清除日记队列,最终可以看到来自此应用的新消息。
该期刊已启用且不受大小限制,因此我不知道为什么它拒绝显示新消息。我认为这是一个单独的问题。