回答
我们做什么(可能有一个更清晰的方法)是我们有一个实现了IWantToRunAtStartup的类。我们为该类提供一个IBus属性,该属性由内置于NServiceBus中的DI容器初始化。
然后我们实例化我们的Web服务类(具有ServiceBehavior属性的类),从启动类传入IBus实例。然后我们从这个实例中实例化我们的ServiceHost。
它感觉有点不舒服,但我们没有任何麻烦。希望有所帮助。
谢谢,错过了一个wcf服务可以实例化的点。 – Stig
这应该让您更清楚地访问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;
}
}
}
这是不可测试的 – Stig
不低于IBus接口的可测试性。这充满了在DI容器中配置的任何实现,它只是让您在WCF实例化的类中访问它。为了进行测试,创建一个实现IBus接口并在测试启动时对其进行配置的TestableBus类。然后,这个BusAccess类将为测试代码提供访问权限。 –
- 1. NServiceBus和WCF
- 2. WCF ServiceHost访问权
- 3. WCF:什么是ServiceHost?
- 4. WCF(ServiceHost)和HTML(JQuery)之间的通信
- 5. WCF:传递参数的ServiceHost
- 6. .NET WCF ServiceHost - 启动参数
- 7. WCF的ServiceHost代码隐藏
- 8. WCF ServiceHost basicHttpBinding 503错误
- 9. 许多WCF库的WCF One ServiceHost
- 10. NServiceBus,WCF架构
- 11. NServiceBus和WCF,他们如何相处?
- 12. WCF的ServiceHost已经有5种行为
- 13. 在wcf配置文件中定制ServiceHost?
- 14. IIS中的城堡WCF DefaultServiceHostFactory:访问ServiceHost
- 15. 捕获全局WCF ServiceHost请求事件
- 16. 每个WCF服务的新ServiceHost?
- 17. 帮助覆盖WCF中的ServiceHost
- 18. WCF @ServiceHost Debug =“true”但web.config编译=“false”
- 19. 是什么让WCF ServiceHost崩溃?
- 20. WCF ServiceHost受限用户netsh/httpcfg
- 21. NServiceBus与WCF在Azure上
- 22. Async WCF与NServiceBus的集成
- 23. WCF本地机器ServiceHost和管理员权限
- 24. WCF Web/ServiceHost - 单身人士和初始化
- 25. ServiceHost效率
- 26. 指针从ServiceHost的
- 27. 为什么Nservicebus不使用WCF?
- 28. NServiceBus Pub/Sub over TCP TCP WCF示例?
- 29. 获取NServiceBus WCF集成示例工作
- 30. NServiceBus,NHibernate和Multitenancy
Stig,你在NServiceBus.Host.exe中托管你的WCF服务吗? –
是的,我在托管wht wcf在NServiceBus.Host.exe – Stig