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

你知道我做错了什么吗?

Nservicebus启动错误

我想你会发现你错过了MessageEndpointMapping部分

您正在使用的示例不执行任何总线。发送,因此不需要消息映射部分。

在该示例中处理程序的唯一内容是总线。返回

另一个选择是使用Bus。

使用您希望消息结束的队列名称发送。

这基本上是由于我把v3和v2.5的东西混在一起而导致的。

这个问题来自于2.5下载没有从NSB站点构建的事实。Udi现在已经在2.5 github分支中更新了版本,我将尝试使用最新的种姓工作,这样我就可以跳过使用3.0,直到它足够稳定。

也就是