我创建了一个函数来通过 MSMQ 发送消息,但在执行时出现异常。下面是我的功能。
public void SendMessageToQueue(ChessQueue chessQueue)
{
MessageQueue queue = null;
Message m = null;
if (!MessageQueue.Exists(".\\Private$\\" + chessQueue.QueueName))
{
queue = new MessageQueue(".\\Private$\\chessqueue");
chessQueue.Messages = new List<MessageObject>();
chessQueue.Messages.Add(chessQueue.Message);
queue.Formatter = new BinaryMessageFormatter();
m = new Message();
m.Body = chessQueue;
}
else
{
queue = new MessageQueue(".\\Private$\\" + chessQueue.QueueName);
queue.Formatter = new BinaryMessageFormatter();
m = queue.Receive();
ChessQueue ExistingChessQueue = m.Body as ChessQueue;
ExistingChessQueue.Messages.Add(chessQueue.Message);
m.Body = ExistingChessQueue;
}
queue.Send(m);
// Getting Exception at this Line
}
例外:- 队列不存在或您没有足够的权限来执行操作。
此外,我无法在计算机管理下打开消息队列的安全选项卡。请参阅随附的屏幕截图。
我尝试在私有下手动创建消息队列,系统允许我这样做。见下文
下面是 mmc 跨度。