C# NServiceBus通过代码配置

C# NServiceBus通过代码配置,c#,nservicebus,C#,Nservicebus,我正在尝试创建一个发布-订阅外观,该外观在内部使用NServiceBus实现PubSub功能。我在使用NServiceBus时遇到的一个问题是,很多配置都是通过接口完成的。例如,发布者将实现iwanttorunatstart。该发布服务器的端点将实现IConfigureThisEndpoint和AsA_发布服务器 这是一个非常酷的特性,非常“流畅”,使代码易于阅读和理解 但这使得它很难创造一个门面。例如,实现IWantToRunAtStartup的基类将要求所有超类引用NServiceBus.H

我正在尝试创建一个发布-订阅外观,该外观在内部使用NServiceBus实现PubSub功能。我在使用NServiceBus时遇到的一个问题是,很多配置都是通过接口完成的。例如,发布者将实现iwanttorunatstart。该发布服务器的端点将实现IConfigureThisEndpoint和AsA_发布服务器

这是一个非常酷的特性,非常“流畅”,使代码易于阅读和理解

但这使得它很难创造一个门面。例如,实现IWantToRunAtStartup的基类将要求所有超类引用NServiceBus.Host

当然,要求引用NServiceBus完全打破了拥有外观的想法。在那一点上,正面的意义是什么


NServiceBus是否有办法将类型配置为不使用接口技术的端点、发布者、订阅者和消息?如果是这样的话,有人能给我指一下那个文档(或者更好的是,一个示例?

接口IConfigureThisEndpoint、AsA_Publisher和IWantToRunAtStartup对于设置发布/订阅是不必要的

如果您没有将端点托管在NServiceBus.Host.exe中,则只需告诉NServiceBus它应该如何存储订阅—在内存中、使用msmq、关系数据库或RavenDB中。只需选择适当的方法作为Configure.With()的一部分。。。初始化代码

从3.0版开始,NServiceBus支持对不依赖于NServiceBus的消息类型的定义-请参阅

在任何情况下,订阅服务器中处理发布事件的代码都需要实现NServiceBus接口IHandleMessages

总的来说,我要说的是,NServiceBus在理念上与其他服务总线有很大的不同,无论有没有门面,从一个服务总线移动到另一个服务总线都不会非常容易