2009-09-24 9 views
1

J'ai créé un objet COM avec C# et laissé VS l'enregistrer pour moi. Je peux le voir dans le registre et si je fais une application de test, je peux ajouter une référence et cela fonctionne comme prévu avec toutes les méthodes disponibles et fonctionnelles.MSMQ n'invoquant pas COM

Maintenant, si je tente de l'utiliser dans une règle MSMQ, rien ne se passe. Il ne sera pas invoqué. Est-ce parce que c'est un assemblage .NET? Est-ce parce que je n'ai pas de VS Pro? Avez-vous une idée du tout?

+0

Bump. Je me demandais si quelqu'un avait une idée. Mise à jour. Dans Wondows avent viewer, il indique que le composant COM n'a pas pu être trouvé. Pourquoi ne peut-il pas le trouver. Tout a l'air bien. –

+0

Mise à jour. J'ai VS PRO MAINTENANT et il ne fonctionne toujours pas. Cependant, j'ai eu une erreur d'accès refusé lors de la construction de mon projet la première fois. La deuxième fois, il a bien construit. Mais je soupçonne que ce n'est toujours pas enregistré correctement. –

+0

Vous obtenez l'erreur de génération car VS essaie d'appeler 'regasm' mais ne s'exécute pas sans privilèges d'administrateur – Sebastian

Répondre

1

Vous n'avez pas enregistré votre composant sur un lecteur réseau mappé? MSMQ fonctionne dans une WinStation différente de la WinStation interactive. Les lecteurs réseau qui sont mappés dans la WinStation interactive ne sont pas visibles dans d'autres WinStations, ce qui peut entraîner le symptôme que vous avez décrit (composant introuvable).

+0

Je l'ai fait au début. Mais ensuite j'ai déplacé mon projet localement, l'ai enregistré avec VS, et j'ai complètement recréé le déclencheur et la règle. Je reçois toujours le même message d'événement. J'ai eu recours à un service Windows pour écouter les messages plutôt que les messages se déclenchant sur le composant. S'il vous plaît voir http://stackoverflow.com/questions/1521841/receiving-msmq-messages-with-windows-service. –

0

Vous devez vérifier le journal des événements système à la recherche de messages d'erreur (eventvwr.exe). Si votre composant est enregistré et que MSMQ est correctement configuré pour activer votre composant mais qu'il échoue, le problème est probablement lié aux autorisations. Le journal des événements doit contenir les détails du fichier prolem.

+0

L'événement indique simplement que le composant est introuvable. J'ai fait des recherches sur ce sujet et d'autres personnes ont convenu qu'il s'agissait d'un message très vague. –

0

Mise à jour !!!

Je plaisantais encore avec ça. J'ai créé un EXE simple à déclencher quand un message est reçu. Il accepte 2 paramètres de chaîne.

J'ai oublié de passer les paramètres la première fois et j'obtiens l'erreur SAME comme je le disais auparavant. À propos de l'objet COM n'est pas trouvé. J'ai passé les paramètres et ça a bien fonctionné.

Je pensais que je passais les paramètres à mon objet COM très bien, mais peut-être pas. Peut-être que je fais quelque chose de mal. Je vais créer un COM sans paramètre et voir si je peux forcer le COM à invoquer.

Si quelqu'un comme exemples de création d'objets pour accepter les paramètres, s'il vous plaît faites le moi savoir.