2010-08-31 3 views
0

J'ai une file d'attente de messages publics avec des permissions complètes pour tout le monde, que j'essaye d'accéder à partir d'un service web anonyme.Accéder à messageQueue à partir d'un service Web anonyme

  1. Méthode MessageQueue.Exists -> Renvoie false tout le temps. Si la file d'attente est publique et que tout le monde a des permissions, pourquoi ne puis-je pas la trouver?

  2. j'ai changé mon code pour ressembler à ceci:

    file d'attente MessageQueue = new MessageQueue (nom);

    return queue.Peek (expireInterval);

Mais cette exception jette que la file d'attente n'existe pas ou je n'ai pas les autorisations pour y accéder.

Le service Web doit rester anonyme, pourquoi ne suffit-il pas d'accorder des autorisations sur la file d'attente?

J'ai même essayé de donner un contrôle total au compte ANONYMOUS, nada.

Quelqu'un s'il vous plaît expliquer ce voodoo à moi, merci à l'avance :)

Répondre

0

Après avoir fait quelques recherches, j'ai trouvé une question similaire posée dans ce site qui a répondu à l'évolution du chemin de file d'attente «\ QueueName » à "FormatName: DIRECT = OS:. \ QueueName".

Cela a effectivement aidé, même si je ne pouvais pas trouver pourquoi. J'ai ensuite trouvé cet article: http://www.infosysblogs.com/microsoft/2007/02/msmq_sending_message_to_remote.html qui explique qu'accéder à MSMQ à distance nécessite l'utilisation de la syntaxe FormatName.

Je ne comprends toujours pas pourquoi cela fonctionne lorsque le WS fonctionne sous sécurité intégrée.

Questions connexes