Ich habe einen WCF-Dienst mit der NetMsmq-Bindung erstellt, für die ich eine private Warteschlange auf meinem Computer erstellt und das Projekt ausgeführt habe. Dies funktioniert problemlos und mein WCF-Dienst wird gestartet und greift auf die Nachricht mithilfe der Warteschlange in der Debugging-Umgebung zu. Jetzt wollte ich den Dienst mit dem Windows-Dienst hosten und für denselben habe ich auch ein neues Projekt- und Windows-Installationsprogramm erstellt (Dieser Dienst wird unter Lokales Systemkonto ausgeführt). Dann habe ich versucht, diesen Windows-Dienst mit dem InstallUtil-Befehl über die Eingabeaufforderung zu installieren. Wenn die Installation geschieht, und während der Service-Host Öffnung, erhalte ich eine Ausnahme sagen:Msmq und WCF-Dienst
There was an error opening the queue. Ensure that MSMQ is installed and running, the queue exists and has proper authorization to be read from. The inner exception may contain additional information.
Inner Exception System.ServiceModel.MsmqException: An error occurred while opening the queue:Access is denied. (-1072824283, 0xc00e0025). The message cannot be sent or received from the queue. Ensure that MSMQ is installed and running. Also ensure that the queue is available to open with the required access mode and authorization.
at System.ServiceModel.Channels.MsmqQueue.OpenQueue()
at System.ServiceModel.Channels.MsmqQueue.GetHandle()
at System.ServiceModel.Channels.MsmqQueue.SupportsAccessMode(String formatName, Int32 accessType, MsmqException& msmqException)
Könnte jemand die mögliche Lösung für das obige Problem vorschlagen? Fehlen mir Berechtigungen für die Warteschlange und den Windows-Dienst? Wenn ja, könnten Sie vorschlagen, wo diese Berechtigungen hinzugefügt werden sollen?
Danke für die Antwort Daniel. Ich habe versucht, alle relevanten Berechtigungen für das Computerkonto, das in der Liste vorhanden ist, wenn das ist, was als das lokale Systemkonto bezeichnet wird. Aber ich bekomme den gleichen Fehler. Die private Warteschlange, die erstellt wurde, hat meine Domänenanmeldung als ihren Besitzer. Ich habe keine Ahnung, auf welche Berechtigungen ich einstellen muss. Könnten Sie vorschlagen, ob noch eine andere mögliche Erlaubnis fehlt? – Sowmya
Sowmya, hast du es funktioniert? Wenn nicht, dann überprüfen Sie diesen Link http://beyondrelational.com/blogs/ibhadelia/archive/2011/06/21/an-error-ccurred-while-opening-the-queue-access-is-denied-msmq-exception. aspx – IBhadelia