ошибка запуска nservicebus
Я пытаюсь встать и запустить свою настройку NServiceBus.
Я в основном пытаюсь скопировать некоторые из примеров проекта AsyncPages.
В моем проекте CommandServer у меня есть следующая конфигурация:
<MsmqTransportConfig
InputQueue="SonatribeInputQueue"
ErrorQueue="error"
NumberOfWorkerThreads="1"
MaxRetries="5"
/>
У меня есть следующая конечная точка сообщения:
public class MessageEndpoint : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
/// <summary>
/// Perform initialization logic.
/// </summary>
public void Init()
{
Console.WriteLine("Configuring persistence...");
var container = new WindsorContainer();
container.Install(FromAssembly.InDirectory(new AssemblyFilter(Assembly.GetExecutingAssembly().Location, "CommandServer.*.dll")));
Configure.With()
.CastleWindsorBuilder(container).BinarySerializer();
}
}
В моем проекте Messages у меня есть следующий класс:
[Serializable]
public class Command : IMessage
{
public int Id { get; set; }
}
И обратно в проект CommandServer у меня есть соответствующий CommandHandler:
public class CommandMessageHandler : IHandleMessages<Command>
{
public IBus Bus { get; set; }
public void Handle(Command message)
{
Logger.Info(string.Format("Server 1 received Command with Id {0}.", message.Id));
}
private static readonly ILog Logger = LogManager.GetLogger(typeof(CommandMessageHandler));
}
Нет, кроме Виндзорских штучек-которые это никак не влияет на это - нет ничего отличного от асинхронного проекта. однако всякий раз, когда я запускаю CommandServer, я получаю следующий вывод:
Configuring eventstore persistence...
2011-07-12 16:33:32,524 [1] WARN NServiceBus.Unicast.UnicastBus [(null)] <(null
)> - LocalAddress property of UnicastBusConfig not found. Using InputQueue prope
rty of MsmqTransportConfig instead. This will not be supported in the next versi
on.
2011-07-12 16:33:32,702 [1] INFO NServiceBus.Hosting.Roles.RoleManager [(null)]
<(null)> - Role NServiceBus.AsA_Server configured
2011-07-12 16:33:32,750 [1] INFO NServiceBus.Host [(null)] <(null)> - Going to
activate profile: NServiceBus.Lite, NServiceBus.Host, Version=3.0.0.0, Culture=n
eutral, PublicKeyToken=9fc386479f8a226c
2011-07-12 16:33:35,749 [1] FATAL NServiceBus.Hosting.GenericHost [(null)] <(nul
l)> - System.InvalidOperationException: No destination could be found for messag
e type Messages.Command. Check the <MessageEndpointMapping> section of the confi
guration of this endpoint for an entry either for this specific message type or
for its assembly.
at NServiceBus.Unicast.UnicastBus.Subscribe(Type messageType, Predicate`1 con
dition) in c:DevNServiceBussrcunicastNServiceBus.UnicastUnicastBus.cs:line
405
at NServiceBus.Unicast.UnicastBus.Subscribe(Type messageType) in c:DevNServ
iceBussrcunicastNServiceBus.UnicastUnicastBus.cs:line 353
at NServiceBus.Unicast.UnicastBus.PerformAutoSubcribe() in c:DevNServiceBus
srcunicastNServiceBus.UnicastUnicastBus.cs:line 754
at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action star
tupAction) in c:DevNServiceBussrcunicastNServiceBus.UnicastUnicastBus.cs:l
ine 739
at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start() in c:Dev
NServiceBussrcunicastNServiceBus.UnicastUnicastBus.cs:line 702
at NServiceBus.Hosting.GenericHost.Start() in c:DevNServiceBussrchosting
NServiceBus.HostingGenericHost.cs:line 99
Есть идеи, что я делаю не так?2 ответа:
Я думаю, вы обнаружите, что вам не хватает раздела MessageEndpointMapping
Образец, который вы используете, не делает никакой шины.Отправить и, следовательно, не нуждается в разделе сопоставления сообщений.
Единственное, что обработчик в этом образце - это шина.Возвращение
Другой вариант-использовать шину.Отправляйте сообщение с именем очереди, в которой оно должно находиться.
В основном это произошло из-за того, что я смешал v3 с V2.5 и попал в полный хвост.
Проблема возникает из-за того, что загрузка 2.5 не сформировала сайт NSB. Udi теперь обновил rev в ветке 2.5 github, и я собираюсь попробовать с этим, чтобы заставить последнюю касту работать, так что я могу пропустить использование 3.0, пока он не будет достаточно стабильным.
Другими словами-это должно было просто сработать.