无法启动服务。System.Messaging.MessageQueueException: 对消息队列系统的访问被拒绝。
使用Windows的消息队列时,窗体界面的应用可以对消息队列进行全部权限的操作,但是编写的Windows服务对消息队列进行操作时有可能会出现此错误提示,在这里提供一种解决方法:
首先明确Windows服务程序的运行的的用户,在任务管理器中可以找到,例如我的服务登陆身份是“本地系统账户”,在任务管理器找到此进程,可以看到用户名为“SYSTEM"。
在”计算机管理“->”服务和应用程序“->"消息队列”->“专用队列”中找到被操作的消息队列名称,右击选择属性,再选择“安全”选项卡,在“组或用户名”列表框中没有发现有“SYSTEM“用户,则点击“添加”按钮,将“SYSTEM”用户添加进来,然后在”权限“列表框中”允许“列全部勾选。
再次启动服务测试应该就可以通过了。
原文链接:https://blog.csdn.net/ppzgghgzshpph/article/details/124058741