à cette ligne de code, je reçois l'erreur comme je l'ai mentionné
J'ai déclaré MSMQ_Name en tant que chaîne comme suit P> p>
p> p>
6 Réponses :
Pouvez-vous d'abord vérifier la file d'attente existant avec le nom 'Aspnetservice' à l'emplacement ci-dessous? P>
Gestion de l'ordinateur -> Services et applications -> Message Queuing -> File d'attente privées P>
Pouvez-vous vérifier «Aspnetservice» en existe lorsque vous ouvrez «Message Queuing» en double-cliquez sur?
Dans le dossier «Private Quweues», vous devriez voir «Aspnetservice» dossier. Sinon, vous pouvez créer via un menu contextuel au dossier de files d'attente privées.
@Dorababu, développez le nœud de file d'attente des messages, puis des files d'attente privées UB-noeud et voyez si votre file d'attente existe ou non. Si la file d'attente existe alors, la question peut être liée à l'autorisation d'accès de la file d'attente et vous pouvez modifier cela à partir du clic droit -> Propriétés -> onglet Sécurité.
Je faisais face au même problème, je l'avais résolu à utiliser la classe suivante pour créer une file d'attente Créer une file d'attente de message de la même manière pour recevoir le message. p> p>
J'ai eu un problème similaire. J'ai été confus parce que mon code a travaillé sur ma machine de développement local, mais pas en production. Même étranger, les files d'attente ont été créées exactement de la même manière. P>
Il s'avère que IIS ne les a pas accès par défaut. Je viens d'ouvrir les autorisations. p>
Gestion de l'ordinateur -> files d'attente privées -> Nom de la file d'attente de droite -> Propriétés -> Ofil de sécurité -> Cliquez sur "Tout le monde" Utilisateur -> Cliquez sur Contrôle complet / Cochez la case -> Cliquez sur OK P> blockQuote>
Cela résolue pour moi, et dans mon cas, ce n'est pas un problème, mais vous voudrez peut-être réfléchir aux ramifications de simplement l'ouvrir pour tous les utilisateurs. p>
En outre, je devais le faire dans toutes les files d'attente sur tous les serveurs. Il ne semble pas y avoir un moyen de sélectionner des files d'attente ou de dossiers multi-sélectionner afin de définir simultanément des autorisations pour plusieurs files d'attente simultanément. p>
J'avais le même problème. p>
J'avais créé une nouvelle file d'attente privée et j'ai donné une autorisation complète à tout le monde. p>
Mais je saisis toujours une "file d'attente n'existe pas ou que vous n'avez pas suffisamment d'autorisations pour effectuer l'opération" lors de la tentative de Redémarrer le service de file d'attente résolue mon problème pour moi. P> envoyer () code> à la file d'attente. Et j'ai pu vérifier que
message usequeue.exists (". \\ privé $ \\ myqueue") code> renvoie
true code>. p>
J'ai eu le même problème et j'ai fait comme ci-dessous où je vérifie si la file d'attente existe ou non. Si oui, envoyez un message sinon créer une file d'attente, puis envoyez un message
MessageQueue msgQueue = null; string queuePath = ".\\Private$\\billpay"; Payment newPayment = new Payment() { Payee = txtPayee.Text, Payor = txtPayor.Text, Amount = Convert.ToInt32(txtAmount.Text), DueDate = dpDueDate.SelectedDate.Value.ToShortDateString() }; Message msg = new Message(); msg.Body = newPayment; msg.Label = "Gopala - Learning Message Queue"; if (MessageQueue.Exists(queuePath) == false) { //Queue doesnot exist so create it msgQueue = MessageQueue.Create(queuePath); } else { msgQueue = new MessageQueue(queuePath); } msgQueue.Send(msg);
Pour les autres qui luttent avec cela et en tirant leurs cheveux comme je l'ai été, j'ai enfin trouvé quelque chose qui fonctionne lorsque toutes les suggestions susceptibles ont échoué.
même si vous pensez que le nom d'hôte de votre file d'attente cible est en train d'être Résolu correctement, ne le croient pas fort>. Essayez de remplacer le nom d'hôte avec une adresse IP et voyez si cela fonctionne. Ça fait pour moi. Je peux écrire dans une file d'attente publique à l'aide d'un nom d'hôte sur mon serveur distant sans problème, mais essayer de lire exactement l'erreur répertorie pour cette question. P> Par exemple, si je déclare ce qui suit: où "myQueue" est une file d'attente publique sur un autre serveur, le code suivant insérera avec succès des messages à la file d'attente, mais échoue toujours sur la réception (): p> private static string QueueName = @"FormatName:DIRECT=TCP:192.168.1.100\MyQueue";
Avez-vous déjà travaillé ça? Nous avons un scénario où l'utilisation du vrai nom du PC fonctionne. Oeuvre IP fonctionne. Mais en utilisant un nom aliasé (par exemple, le fichier hosts) ne fonctionne pas.
Dans le panneau de la file d'attente de la gestion de l'ordinateur, tous les dossiers de la file d'attente sont dupliqués !!! Quelque chose est très étrange de votre machine.