2010-08-31 99 views
0

我有一个公开邮件队列,具有对所有人的完全权限,即我尝试从匿名Web服务访问。从匿名Web服务访问messageQueue

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

  2. 我改变了我的代码看起来像这样:

    的MessageQueue队列=新的MessageQueue(名);

    return queue.Peek(expireInterval);

但是,这会引发队列不存在的异常,或者我没有权限访问它。

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

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

有人请解释这个巫术给我,在此先感谢:)

回答

0

做了一些研究之后,我发现了一个类似的问题在这个网站问得到的回答是从改变队列路径“ \ QUEUENAME”到“FORMATNAME:DIRECT = OS:\ QUEUENAME”。

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

我还是不明白为什么在WS在集成安全性下运行时工作。