从匿名Web服务访问messageQueue

时间:2010-08-31 11:40:01

标签: c# web-services message-queue anonymous

我有一个公共消息队列,其中包含对每个人的完全权限,我尝试从匿名Web服务进行访问。

  1. 方法MessageQueue.Exists - >始终返回false。如果队列是公开的并且每个人都有权限,为什么我找不到它?

  2. 我将代码更改为:

    MessageQueue queue = new MessageQueue(name);

    return queue.Peek(expireInterval);

  3. 但是这会抛出队列不存在或我没有访问权限的异常。

    Web服务必须保持匿名,为什么不足以授予队列权限?

    我甚至尝试完全控制ANONYMOUS帐户,nada。

    有人请向我解释这个伏都教,提前谢谢:)

1 个答案:

答案 0 :(得分:0)

在做了一些研究之后,我发现在这个网站上提出的类似问题是通过将队列路径从“。\ QueueName”更改为“FormatName:DIRECT = OS:。\ QueueName”来回答的。

这确实有帮助,虽然我找不到原因。 然后我找到了这篇文章: http://www.infosysblogs.com/microsoft/2007/02/msmq_sending_message_to_remote.html 这说明远程访问MSMQ需要使用FormatName语法。

当WS在集成安全性下运行时,我仍然不明白为什么会这样。