回答
我们做什么(可能有一个更清晰的方法)是我们有一个实现了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 basicHttpBinding 503错误
- 5. .NET WCF ServiceHost - 启动参数
- 6. WCF的ServiceHost代码隐藏
- 7. WCF:传递参数的ServiceHost
- 8. NServiceBus,WCF架构
- 9. WCF ServiceHost受限用户netsh/httpcfg
- 10. 每个WCF服务的新ServiceHost?
- 11. 在wcf配置文件中定制ServiceHost?
- 12. WCF @ServiceHost Debug =“true”但web.config编译=“false”
- 13. WCF的ServiceHost已经有5种行为
- 14. 是什么让WCF ServiceHost崩溃?
- 15. IIS中的城堡WCF DefaultServiceHostFactory:访问ServiceHost
- 16. 捕获全局WCF ServiceHost请求事件
- 17. 帮助覆盖WCF中的ServiceHost
- 18. Async WCF与NServiceBus的集成
- 19. WCF Web/ServiceHost - 单身人士和初始化
- 20. WCF本地机器ServiceHost和管理员权限
- 21. ServiceHost效率
- 22. 指针从ServiceHost的
- 23. nServiceBus和Compact Framework
- 24. nservicebus和eventstore
- 25. NServiceBus和DTC的
- 26. nServiceBus和IsTransactional(false)
- 27. 温莎和NServiceBus
- 28. NServiceBus和池
- 29. 为什么Nservicebus不使用WCF?
- 30. NServiceBus Pub/Sub over TCP TCP WCF示例?
Stig,你在NServiceBus.Host.exe中托管你的WCF服务吗? –
是的,我在托管wht wcf在NServiceBus.Host.exe – Stig