这不是问题,而是让我理解NserviceBus中发生的“神奇”的问题
我有一个工作环境,以这种方式调用NServiceBus-Service:
"D:\Service\NServiceBus.Host.exe" -service /serviceName:"MyServiceAdapter" /endpointName:"MyQueue.Adapter"
现在在同一目录中有我的应用程序“My.Adapter.dll”,它也有一个配置。任何地方都没有NserviceBus.config。仍然:NserviceBus似乎知道它必须使用“My.Adapter.dll”
为什么NServiceBus知道这一点?我没有在队列(MSMQ)或我的应用程序的任何其他位置找到任何引用。它是否保存在注册表中?如果是:在哪里?
答案 0 :(得分:5)
默认情况下,NServiceBus使用NServiceBus.Host.exe扫描位于同一文件夹中的所有程序集,并查找自己的标记(接口),如IWantCustomInitialization,IHandleMessage等。它使用其默认的IoC容器构建器(Autofac)或您提供的那个。
您还可以限制使用Configure.With(assemblies)
代表V4和configuration.AssembliesToScan(myListOfAssemblies)
代表V5扫描哪些程序集。
更多内容请阅读http://docs.particular.net/nservicebus/assembly-scanning