Nservicebus启动错误
本文关键字:错误 启动 Nservicebus | 更新日期: 2023-09-27 18:02:31
我正在尝试启动并运行我的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:'Dev'NServiceBus'src'unicast'NServiceBus.Unicast'UnicastBus.cs:line
405
at NServiceBus.Unicast.UnicastBus.Subscribe(Type messageType) in c:'Dev'NServ
iceBus'src'unicast'NServiceBus.Unicast'UnicastBus.cs:line 353
at NServiceBus.Unicast.UnicastBus.PerformAutoSubcribe() in c:'Dev'NServiceBus
'src'unicast'NServiceBus.Unicast'UnicastBus.cs:line 754
at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action star
tupAction) in c:'Dev'NServiceBus'src'unicast'NServiceBus.Unicast'UnicastBus.cs:l
ine 739
at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start() in c:'Dev
'NServiceBus'src'unicast'NServiceBus.Unicast'UnicastBus.cs:line 702
at NServiceBus.Hosting.GenericHost.Start() in c:'Dev'NServiceBus'src'hosting'
NServiceBus.Hosting'GenericHost.cs:line 99
你知道我做错了什么吗?
我想你会发现你错过了MessageEndpointMapping部分
您正在使用的示例不执行任何总线。发送,因此不需要消息映射部分。
在该示例中处理程序的唯一内容是总线。返回
另一个选择是使用Bus。
这基本上是由于我把v3和v2.5的东西混在一起而导致的。
这个问题来自于2.5下载没有从NSB站点构建的事实。Udi现在已经在2.5 github分支中更新了版本,我将尝试使用最新的种姓工作,这样我就可以跳过使用3.0,直到它足够稳定。
也就是