Моего GenericHost размещаемой службы не в состоянии начать со следующим сообщением:«Нет сообщения сериализатора не настроен» Ошибка при запуске NServiceBus конечной
2010-05-07 09: 13: 47,406 [1] СМЕРТЕЛЬНОЙ NServiceBus.Host .Internal.GenericHost [(null)] < (null)> - System.InvalidOperationException: никакой сериализатор сообщений не был con фигурным. на NServiceBus.Unicast.Transport.Msmq.MsmqTransport.CheckConfiguration() в D: \ BuildAgent-02 \ работа \ 672d81652eaca4e1 \ SRC \ осущ \ одноадресной \ NServiceBus.Unicast.Msmq \ MsmqTransport.cs: Строка 241 в NServiceBus. Unicast.Transport.Msmq.MsmqTransport.Start() в d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ impl \ unicast \ NServiceBus.Unicast.Msmq \ MsmqTransport .cs: строка 211 у NServiceBus.Unicast.UnicastBus. NServiceBus.IStartableBus.Start (Action startupAction) в d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ unicast \ NServiceBus.Uni cast \ UnicastBus.cs: строка 694 в NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start() в d: \ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ unicast \ NServiceBus.Unicast \ UnicastBus.cs: l ine 665 at NS erviceBus.Host.Internal.GenericHost.Start() в D: \ BuildAgent-02 \ работа \ 672d81652eaca4e1 \ SRC \ хост \ NServiceBus.Host \ Внутренние \ GenericHost.cs: линия 77
Моя конфигурация конечных точек выглядит следующим образом:
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();
}
}
И моя app.config выглядит следующим образом:
<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>
Это работало в прошлом, но, похоже, происходит сбой при запуске универсального хоста. Ниже приведена конфигурация моей конечной точки, а также приложение app.config для службы. Странно то, что в моей конфигурации конечных точек я указываю, что я использую XmlSerializer для сериализации сообщений. Я не вижу никаких других ошибок в выводах консоли, предшествующих сообщению об ошибке. Что мне не хватает?
Спасибо, Стив
спасибо, +1 за спасая меня время, пытаясь выяснить, что вызывает ошибку. Сериализатор сообщений не похож на общие интерфейсы. Не успел посмотреть, что нужно, чтобы заставить его работать, но отбросил изменения и сделал это с помощью генерических средств на время. –