MSMQ-leesfout (toegang geweigerd)

Ik maak als volgt een wachtrij op mijn lokale computer in een ander proces:

MessageQueue.Create(@".\private$\sampleQueue");

En in mijn leesproces hecht ik er het volgende aan:

var queue = new MessageQueue(@".\private$\sampleQueue");

Wanneer ik wachtrij.Peek() probeer te maken, krijg ik een uitzondering voor toegang geweigerd. Ik ben niet op een domein, dit is gewoon mijn lokale werkgroepcomputer. Om het even welke ideeën?

1
Ik kwam deze situatie tegen. Verbazingwekkend genoeg, nadat ik de statistieken van de wachtrij had gelezen met behulp van het venster Computerbeheer, was alles weer goed.
toegevoegd de auteur Ron Klein, de bron

3 antwoord

MSMQ gebruikt verschillende protocollen voor zijn werk:

  • Informatie pushen (berichten verzenden) gebruikt het MSMQ -protocol.
  • Informatie trekken (berichten ontvangen, eigenschappen ophalen, enzovoort) met het RPC -protocol.

Als het geen eenvoudig toestemmingsprobleem is (wat het zeer waarschijnlijk is) dan hebt u deze blogpost nodig:

Understanding how MSMQ security blocks RPC traffic http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24/understanding-how-msmq-security-blocks-rpc-traffic.aspx

Proost
John

3
toegevoegd

Als u op de wachtrij klikt in Computerbeheer en eigenschappen selecteert, hebt u dan de juiste machtigingen ingesteld op het tabblad Beveiliging?

2
toegevoegd
Ik zal het binnenkort controleren, maar ik wil er graag op wijzen dat het andere proces, degene die de wachtrij maakt, ook in staat is om een ​​bericht te verzenden. Het leesproces loopt ondertussen als een windows-service.
toegevoegd de auteur gzak, de bron

De referenties die worden gebruikt door het proces dat de wachtrij maakt, moeten verschillen van de referenties van het proces dat wordt gebruikt om de wachtrij te lezen. Als dat zo is, moet u de benodigde leesrechten in de wachtrij specifiek toewijzen nadat u deze hebt gemaakt.

2
toegevoegd
Ik heb de wachtrij volledige toestemming gegeven en nog steeds niets, dus ik ga de link bekijken die John me later vandaag gaf.
toegevoegd de auteur gzak, de bron