c# 关于消息队列【MessageQueue】的权限(一)

一、创建必须使用本地Path,如:".\\Private$\\MSMQCreateRequest"


            if (!MessageQueue.Exists(AppStaticData.MessageQueuePath))
                queue = MessageQueue.Create(AppStaticData.MessageQueuePath);
            else
                queue = new MessageQueue(AppStaticData.MessageQueuePath);
            queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(object[]) });
            queue.ReceiveCompleted += new ReceiveCompletedEventHandler(MsgReceiveCompleted);

二、远程无法创建Path,如:"FormatName:Direct=TCP:192.168.0.102\\Private$\\MSMQCreateRequest"

MessageQueue queue = new MessageQueue(MessageQueuePath);
            //queue = MessageQueue.Create(MessageQueuePath);

            Message message = new System.Messaging.Message();
            message.Body = args;
            message.Formatter = new XmlMessageFormatter(new Type[] { typeof(object[]) });
            queue.Send(message);

三、开发Window 服务,权限问题需要解决(未找到合适方法)

你可能感兴趣的:(c#winform开发)