感谢您花时间回答。我将尝试解释我为什么要显式注册:
1. 我们的软件有一组默认的 MessageHandlers。通常,我们需要为客户进行“表面”定制。在服务总线中,这种定制实际上意味着用定制的消息处理程序替换默认的消息处理程序。这是在服务器端的引导程序中完成的。如果 NSB 只是扫描程序集以查找适当的处理程序,则存在两个处理程序将针对同一消息注册的风险。
2. 我想在编译时 100% 确定引导程序实际上注册了正确的响应处理程序。我将通过常规的单元测试来实现这一点——蚂蚁依赖于一个假的总线实例。
3. 我们只是不喜欢在我们公司按惯例编程。基于约定的编程使事情变得难以理解,尤其是对于新开发人员。这有点像“魔法在这里发生”。
您可能不同意我对基于显式与基于约定的编程的看法。但在我们公司,基于约定的编程是一种反模式。
关于,端点。我现在明白了。拥有一个用于端点(或代码)的 web.config 将非常适合我们 - 因为从客户端到服务器的所有请求无论如何都会转到相同的“wcf-gateway”。
(顺便说一句:我在 NDC2009 上看过你,我认为它被称为“使模式完整”。这真的让我大开眼界——尤其是关于明确角色的部分。)
(我不得不回答我自己的问题,因为 stackoverflow 在评论中的字符数量有限)