Mon service hébergé GenericHost ne parvient pas à démarrer avec le message suivant:"Pas sérialiseur de message a été configuré" erreur lors du démarrage terminal NServiceBus
2010-05-07 09: 13: 47406 [1] FATAL NServiceBus.Host .Internal.GenericHost [(null)] < (null)> - System.InvalidOperationException: Aucun sérialiseur de message n'a été con figuré. à NServiceBus.Unicast.Transport.Msmq.MsmqTransport.CheckConfiguration() dans d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ impl \ unicast \ NServiceBus.Unicast.Msmq \ MsmqTransport.cs: ligne 241 à NServiceBus. Unicast.Transport.Msmq.MsmqTransport.Start() à d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ impl \ unicast \ NServiceBus.Unicast.Msmq \ MsmqTransport .cs: ligne 211 à NServiceBus.Unicast.UnicastBus. NServiceBus.IStartableBus.Start (ActionAction startup) dans d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ unicast \ NServiceBus.Uni cast \ UnicastBus.cs: ligne 694 sur NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start() dans d: \ BuildAgent-02 \ travail \ 672d81652eaca4e1 \ src \ unicast \ NServiceBus.Unicast \ UnicastBus.cs: l ine 665 à NS erviceBus.Host.Internal.GenericHost.Start() dans d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ host \ NServiceBus.Host \ interne \ GenericHost.cs: ligne 77
Ma configuration de point final ressemble:
public class ServiceEndpointConfiguration
: IConfigureThisEndpoint, AsA_Publisher, IWantCustomInitialization
{
public void Init()
{
// build out persistence infrastructure
var sessionFactory = Bootstrapper.InitializePersistence();
// configure NServiceBus infrastructure
var container = Bootstrapper.BuildDependencies(sessionFactory);
// set up logging
log4net.Config.XmlConfigurator.Configure();
Configure.With()
.Log4Net()
.UnityBuilder(container)
.XmlSerializer();
}
}
Et mon app.config ressemble à:
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" />
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
<section name="Logging" type="NServiceBus.Config.Logging, NServiceBus.Core" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
</configSections>
<Logging Threshold="DEBUG" />
<MsmqTransportConfig
InputQueue="NServiceBus.ServiceInput"
ErrorQueue="NServiceBus.Errors"
NumberOfWorkerThreads="1"
MaxRetries="2" />
<UnicastBusConfig
DistributorControlAddress=""
DistributorDataAddress=""
ForwardReceivedMessagesTo="NServiceBus.Auditing">
<MessageEndpointMappings>
<!-- publishers don't need to set this for their own message types -->
</MessageEndpointMappings>
</UnicastBusConfig>
<connectionStrings>
<add name="Db" connectionString="Data Source=..." providerName="System.Data.SqlClient" />
</connectionStrings>
<log4net debug="true">
<root>
<level value="INFO"/>
</root>
<logger name="NHibernate">
<level value="ERROR" />
</logger>
</log4net>
Cela a fonctionné dans le passé, mais semble échouer lorsque l'hôte générique commence. Ma configuration de point de terminaison est ci-dessous, avec le app.config pour le service. Ce qui est étrange, c'est que dans ma configuration de point final, je spécifie d'utiliser XmlSerializer pour la sérialisation des messages. Je ne vois pas d'autres erreurs dans la sortie de la console précédant le message d'erreur. Qu'est-ce que je rate?
Merci, Steve
Merci, +1 pour moi un gain de temps à essayer de comprendre ce qui était à l'origine de l'erreur. Le sérialiseur de message ne semble pas aimer les interfaces génériques. N'a pas eu le temps de voir ce qui est nécessaire pour le faire fonctionner, mais a annulé un changement et le faire sans génériques pour le moment –