Nservicebus N服务总线-将消息放回总线

Nservicebus N服务总线-将消息放回总线,nservicebus,Nservicebus,我有一个处理消息的总线端点,但是现在我想将另一条消息放回到这个处理程序内的总线上 要做到这一点,我需要得到一个参考的巴士 但是,如果我尝试以下方法: public class ServerEndpoint: IWantToRunAtStartup { public static IBus Bus { get; set; } public void Run() { int x = 5; Bus = NServiceBus.Configur

我有一个处理消息的总线端点,但是现在我想将另一条消息放回到这个处理程序内的总线上

要做到这一点,我需要得到一个参考的巴士

但是,如果我尝试以下方法:

public class ServerEndpoint: IWantToRunAtStartup
{
    public static IBus Bus { get; set; }

    public void Run()
    {
        int x = 5;

        Bus = NServiceBus.Configure.With()
            .DisableTimeoutManager()
            .Log4Net()
            .DefaultBuilder()
            .XmlSerializer()
            .MsmqTransport()
                .IsTransactional(false)
                .PurgeOnStartup(false)
            .UnicastBus()
                .ImpersonateSender(false)
            .CreateBus()
            .Start();

    }

    public void Stop()
    {
    }
}
然后,即使我将单播和Msmq配置放在app.config中,也会出现各种配置错误

谁能给我指点一下,我希望这是一个相当直接的错误

谢谢

邓肯


编辑:这是在服务器上。让我困惑的是,在web应用程序上使用上述代码在global.asax app_Start()方法配置总线。但是,当尝试在ServerEndpoint(主机内部运行的实际“总线”dll)中执行此操作时,这不起作用。

您使用依赖项注入来实现此目的,请参阅感谢所有反馈-我在走路之前尝试运行

从外观上看,要将消息发送到另一个端点,我需要设置一个不同的程序集(ServiceBus.Host)

总线是使用DI自动创建的,所以这毕竟不是问题所在


我观看了Andreas Ohlund()制作的优秀的Pluralsight视频,并遵循了他在这里制作的示例(参见Bustop-Billing Take 2)

谢谢,我认为这会“自动神奇地”发生,因为它在我的web应用程序中[我不必为此做任何事情来为我创建它]您是在客户端还是在服务器端配置它,您是否在项目中使用依赖项注入?如果是,请尝试将代码放在正在注入IBU的位置。配置中的DefaultBuilder()方法告诉Nservice bus使用其默认DI,即AutoFacIt。看起来您正在使用NServiceBus.Host.exe运行服务器端。如果是这样的话,你就不需要这些代码了。有关如何设置服务器的示例,请参见FullDuplex示例。