队列不存在,或您没有足够的权限执行该操作-另一种原因

今天在虚拟机上调程序的时候,将消息队列的地址配置成了127.0.0.1,结果总是报下面的错误: 
[2011-04-19 10:53:53,331 ERROR StartProcess] 
-- Excute InitMessageQueue Error! Error :调用的目标发生了异常。
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> **.OperateErrorException: 获取MSB反馈的消息队列失败,错误信息为**.OperateErrorException: 启动监听失败。队列路径:msbresponse;主机:msbresponse;名称:rockee ---> System.Messaging.MessageQueueException: 队列不存在,或您没有足够的权限执行该操作。
   在 System.Messaging.MessageQueue.MQCacheableInfo.get_ReadHandle()
   在 System.Messaging.MessageQueue.ReceiveAsync(TimeSpan timeout, CursorHandle cursorHandle, Int32 action, AsyncCallback callback, Object stateObject)
   在 System.Messaging.MessageQueue.BeginReceive()
   在 **.SystemService.Mq.MSMessageQueueMgr.Listen(MSMQCfgInfo cfg, RecievedMsgOKEventHandler handle)
   --- 内部异常堆栈跟踪的结尾 ---
   在 **.SystemService.Mq.MSMessageQueueMgr.Listen(MSMQCfgInfo cfg, RecievedMsgOKEventHandler handle)
   在 **.SystemService.Mq.MSMQQueue.StartListen(Type[] arrRequireType)
   在 **.AppServer.MSBService.MSBInvokerClass.InitMessageQueue()
   在 **.AppServer.MSBService.MSBInvokerClass.InitMessageQueue()
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)

 

检查了消息队列服务,存在并且有everyone权限,再用消息队列测试工具MSMQTracer 测试,照样能读写,于是抱着试验的态度将127.0.0.1换成了本机对外IP,结果访问成功;

 

将该问题记录在这里,以放置以后同样问题的出现; 

posted @ 2011-04-19 11:23  遥望星空  阅读(5369)  评论(0编辑  收藏  举报