我想从本地网络上的另一台计算机接收消息,因此我以这种方式创建了MessageQueue
:
private static string QueueName = ".\\Private$\\Q1";
public void SendMessage()
{
if (!MessageQueue.Exists(QueueName))
MessageQueue.Create(QueueName);
//
}
public void ReceiveMessage()
{
// Connect to the a queue on the local computer.
MessageQueue myQueue = new MessageQueue(QueueName);
// Set the formatter to indicate body contains an Order.
myQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(Queue.Order) });
try
{
// Receive and format the message.
Message myMessage = myQueue.Receive();
///
}
我还尝试创建格式为MessageQueue
的{{1}},但收到了MessageQueueException。
答案 0 :(得分:0)
如果您转到“计算机管理”并查看“服务和应用程序”> “消息队列”> “私人队列”你看到你的队列命名为“Q1”吗?如果是的话,里面有消息吗?您可能需要调整队列中的属性(右键单击>属性>安全性)。如果您处于开发环境中,则可以从Everyone完全控制开始。一旦你工作,尝试找出最小的权限集。您可能还希望从计算机管理mmc而不是代码中创建队列。