none
在Windows服务里,可以使用MSMQ吗? RRS feed

  • 问题

  • 我写了一个Windows服务,在服务中调用MSMQ消息队列,接收消息。但是这个服务安装上,就是启动不了。如下图所示:

    但是,我如果将这个服务里,接收MSMQ消息的那段代码注释掉。再部署。这个服务就可以启动了。代码如下:

                    /// <summary>
    		/// 开始启动监听
    		/// </summary>
    		private void Listen()
    		{
    			this.MessageQueue.ReceiveCompleted += (source, asyncResult) =>
    			{
    				var messageQueue = source as MessageQueue;
    				if (messageQueue == null) return;
    				var message = messageQueue.EndReceive(asyncResult.AsyncResult);
    				messageQueue.BeginReceive();
    				var job = message.Body as Job;
    				if (job == null) return;
    				this.ScheduleTaskPool.AddScheduleTask(job);
    			};
    			this.MessageQueue.BeginReceive();
    		}

    我开始想是不是服务依赖的原因。我这个服务必须依赖MSMQ服务。我又照着网上给这个服务设置了依赖于MSMQ服务启动。但还是不行。望高人指教。谢谢

    2014年3月29日 10:48

答案

  • 参照一下这个文章看看是否满足你的要求:

    http://msdn.microsoft.com/zh-cn/library/ms752246.aspx

    在这里你并不是监听者,要获取更多信息的话,我建议你去其他论坛去问,这个帖子有些超出本论坛的范畴了。或许你可以考虑一下语言性论坛。



    Barry Wang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Sago.Su 2014年4月10日 13:05
    2014年3月31日 7:39
    版主
  • try一下,记录日志,看看是什么错
    • 已标记为答案 Sago.Su 2014年4月10日 13:05
    2014年3月31日 7:44

全部回复