当我尝试发送到队列时,我不断收到错误消息
指定的格式名称不支持请求的操作。例如,不能删除直接队列格式名称。
我的队列名称存储在配置文件中,如下所示
“格式名称:直接=操作系统:我的计算机名称\PRIVATE$\MyQueue”
存在 2 个队列,每个队列都设置了权限,以便每个人都拥有完全控制权。
您可以假设 SyncUser = "EVERYONE" 或 "My_Domain\operator"
//init the queues
qSync = new MessageQueue(queueName + "-sync")
{Formatter = new XmlMessageFormatter(new Type[] {typeof (String)})};
qClient = new MessageQueue(queueName + "-client")
{Formatter = new XmlMessageFormatter(new Type[] { typeof(String) })};
创建队列不会导致任何错误,但是当我调用此发送函数时收到错误
**Send(qSync, "This is a message");** //Example
public void Send(MessageQueue queue, string msg)
{
try
{
queue.Send(msg);
}
catch (MessageQueueException mqx)
{
var e = string.Format("Failed to Send - {0} | {1}", queue.QueueName, mqx.Message);
OnSynchronizerMonitor(new SyncEvent(e));
}
}
任何帮助将不胜感激。
编辑
似乎我的消息正在发送到他们的远程队列目标,但应用程序仍然在发送的每条消息上抛出该错误。如果我在调试时查看 MessageQueues (qSync|qClient),该错误甚至在使用之前就出现在几个内部字段中。