我有一个处理消息的总线端点,但我现在想要将另一条消息重新放回到此处理程序内的总线上。
要做到这一点,我需要获得对公共汽车的引用。
但是,如果我尝试以下内容:
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,在主机内部运行)中执行此操作时,这不起作用。
答案 0 :(得分:1)
答案 1 :(得分:0)
感谢所有的反馈 - 我试图在我走路之前跑步。
从外观上看,要将消息发送到另一个端点,我需要设置一个不同的程序集(ServiceBus.Host)。
总线是使用DI自动创建的,所以这毕竟不是问题。
我观看了Andreas Ohlund(http://pluralsight.com/training/Courses/TableOfContents/nservicebus)的优秀Pluralsight视频,并按照他在这里建立的示例(参见BusStop - Billing Take 2)