2010-06-30 90 views
-1

有谁知道诊断MSMQ访问错误的体面方式。我在Web应用程序中使用NServiceBus。运行的服务实际上会创建专用队列,并且Web应用程序会将消息发送到该队列。使用NServiceBus诊断MSMQ访问错误

网站使用匿名访问,应用程序池使用网络服务帐户运行。当我的应用程序尝试向队列发送消息时(使用NServiceBus),我得到MSMQ访问被拒绝的错误。我试过所有完全控制与匿名登录,每个人等的组合,仍然没有运气。我尝试删除队列并让NServiceBus重新创建它们,但仍然没有运气。

当我将IIS应用程序池设置为使用本地管理员帐户运行时,它一切正常。我如何计算出我需要应用的权限?使用默认添加的帐户/权限显然不起作用。

回答

0

您需要设置队列权限,以便“everyone”可以发送到任何队列。

+0

Udi,谢谢你的回复。 NServiceBus正在创建两个队列(主队列和错误队列),并且在两个队列中“Everyone”都允许“发送消息”访问。尝试发送邮件时访问仍被拒绝。我后来发现,这并不总是会发生 - 在一些开发机器上我们没有问题,在其他的机器上也没有问题。你知道有什么工具可以用来监视访问被拒绝时谁试图访问队列吗?我感觉这是一个IIS身份验证问题,因为我之前没有遇到过这个问题 - 所以它肯定不是NServiceBus。 – 2010-06-30 09:17:14