2012-11-16 69 views
2

我在Delphi 2010中开发了一个应用程序,用于从事务性队列中读取XML数据。如果队列是本地或远程的,并且我不必在两种情况下都设置权限,则它工作正常。在消息队列中拒绝访问

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

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

任何想法?我也使用Windows 7。

+0

请显示您的实际失败代码。 –

+0

谢谢雷米。我的问题解决了。我必须使用我的帐户名称和密码登录服务。 – Nelson

回答

1

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

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

+0

它的工作!我用我的帐户名称和密码,我没有得到“访问被拒绝”的错误了。非常感谢Darian,我很感激。 – Nelson

+0

@Nelson,别忘了接受答案! –