Après avoir modifié le projet Subscriber2 dans l'échantillon PubSub, je reçois cette erreur lorsqu'un message est reçu par cet abonné:NServiceBus: types de gestionnaire de messages ne chargeant pas correctement lors de la configuration via le code
erreur NServiceBus.Unicast .Transport.Msmq.MsmqTransport [(null)] < (null)> - Impossible d'extraire les données de message . System.TypeLoadException: Impossible de gérer le type 'MyMessages.EventMessage'.
J'ai changé le fichier EndpointConfig.cs à ceci:
using NServiceBus;
namespace Subscriber2
{
public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
public void Init()
{
Configure.With(new[] { typeof(EventMessageHandler), typeof(NServiceBus.Unicast.Transport.CompletionMessage) })
.DefaultBuilder()
.XmlSerializer()
.UnicastBus()
.DoNotAutoSubscribe();
}
}
}
Est-ce que quelqu'un sait pourquoi cela ne fonctionne pas?
On dirait que j'ai listé le type du gestionnaire, et non le message. Ma vraie question est alors, est-il un moyen de spécifier explicitement le gestionnaire? Je veux être en mesure de déterminer le gestionnaire à l'exécution, et je crains que si j'ai plusieurs gestionnaires du même type, il serait confus. – skb
Vous devez ajouter une condition au conteneur utilisé par NSB. Pour ce faire, vous pouvez transmettre votre instance personnelle du conteneur à NSB. De cette façon, vous avez un contrôle total sur ce qui est chargé. –