Я создал службу WCF для отправки сообщения в MSMQ, я могу запустить его, и похоже, что сообщение было отправлено, но при просмотре очереди его там нет. Я подтвердил, и очередь не является транзакционной очередью. Безопасность открыта, так что каждый может отправлять сообщения, но мне интересно, есть ли другие места для установки безопасности? Вот мой код, который я использую.
Dim mq As MessageQueue
Dim msg As Message
Dim queueName As String = "webdevbvm.labsafety.com\emailsubscriptions"
Try
msg = New Message("Test")
msg.Priority = MessagePriority.Highest
If (MessageQueue.Exists(queueName)) Then
mq = New MessageQueue(queueName)
msg.ResponseQueue = mq
msg.UseJournalQueue = True
msg.Label = "Test Message"
msg.Body = "This is only a test"
mq.Send(msg)
Console.WriteLine("Message sent.")
End If
Catch ex As MessageQueueException
Console.WriteLine("MSMQ Error: " + ex.ToString())
Catch ex As Exception
Console.WriteLine("Error: " + ex.ToString())
Finally
mq.Close()
End Try
Я не получаю ошибок, но вижу сообщения в моей исходящей очереди с компьютера, на котором запущена программа. Он показывает, что очередь существует, и если я изменяю имя очереди на несуществующее, оно не входит в оператор IF, поэтому я знаю, что она видит очередь, просто не отправляющую файл. Если это помогает, я запускаю программу локально на ноутбуке, и очередь, которую она отправляет, тоже находится на сервере Windows 2003.