我有一个wcf的ServiceHost,它必须发布一条消息到IBus。
如何从主机类(由wcf实例化)优雅地获得对IBus的访问?
发布于 2011-08-11 19:34:26
我们所做的(可能有一种更干净的方式)是我们有一个实现IWantToRunAtStartup的类。我们为该类提供一个IBus属性,该属性由内置在NServiceBus中的DI容器初始化。
然后,我们实例化我们的Web服务类(具有ServiceBehavior属性的类),从启动类传入IBus实例。然后我们从该实例实例化我们的ServiceHost。
它感觉有点笨拙,但我们还没有遇到任何问题。希望这能有所帮助。
发布于 2011-08-12 05:40:45
这将使您能够更干净地访问IBus。对静态类进行任意命名。不要担心共享IBus实例-总线是完全线程安全的。
public static class BusAccess
{
private static IBus bus;
public static IBus Bus
{
get
{
if (bus == null)
bus = NServiceBus.Configure.Instance.Builder.Build<IBus>();
return bus;
}
}
}
https://stackoverflow.com/questions/7011580
复制相似问题