Моята хоствана GenericHost услуга не успява да стартира със следното съобщение:
2010-05-07 09:13:47,406 [1] ФАТАЛЕН NServiceBus.Host.Internal.GenericHost [(null)] ‹(null)> - System.InvalidOperationException: Не е конфигуриран сериализатор на съобщения. в NServiceBus.Unicast.Transport.Msmq.MsmqTransport.CheckConfiguration() в d:\BuildAgent-02\work\672d81652eaca4e1\src\impl\unicast\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 (Действие 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 в NServiceBus.Host.Internal.GenericHost.Start() в d:\BuildAgent-02\work\672d81652eaca4e1\src\host\ NServiceBus.Host\Internal\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 за сериализиране на съобщения. Не виждам никакви други грешки в изхода на конзолата, предхождащ съобщението за грешка. Какво ми липсва?
Благодаря, Стив