NServiceBus - 将消息放回公交车上

时间:2013-02-06 10:58:52

标签: nservicebus

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

要做到这一点,我需要获得对公共汽车的引用。

但是,如果我尝试以下内容:

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()
    {
    }
}

然后我得到所有类型的配置错误,即使我将Unicast和Msmq配置放在app.config中。

任何人都可以向我提供指示,我希望这是一个相当直接的错误!!

由于

邓肯

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

感谢所有的反馈 - 我试图在我走路之前跑步。

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

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

我观看了Andreas Ohlund(http://pluralsight.com/training/Courses/TableOfContents/nservicebus)的优秀Pluralsight视频,并按照他在这里建立的示例(参见BusStop - Billing Take 2)