消息队列中的访问被拒绝

时间:2012-11-16 16:53:46

标签: delphi windows-services delphi-2010 msmq

我在Delphi 2010中开发了一个应用程序,它从事务队列中读取XML数据。如果队列是本地队列或远程队列,它可以正常工作,我不必在两种情况下都设置权限。

现在我必须将该应用程序转换为Windows服务。我将相同的应用程序复制并粘贴到服务代码中,但是当我尝试读取队列时,我收到“拒绝访问”错误。我在我的本地机器上进行测试。

有些人说这是权限问题。我在Stack Overflow中找到了一些相同问题的帖子,但我没有找到解决方案。

有什么想法吗?我也在使用Windows 7。

1 个答案:

答案 0 :(得分:1)

如果您在本地运行该应用程序,则表明您正在使用Windows登录凭据运行该应用程序。默认情况下,服务是在不同的用户帐户下启动的,该帐户可能与您的帐户具有相同的权限。

打开服务管理器(start-> services.msc),在列表中找到您的服务,右键单击它并选择“属性”。然后选择“登录”选项卡并将其更改为特定的帐户名/密码。 (使用您的帐户名/密码。)然后,您将使用相同的凭据执行代码,以便您的“拒绝访问”错误消失。