Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NServiceBus -扫描所有程序集

NServiceBus -扫描所有程序集
EN

Stack Overflow用户
提问于 2016-03-08 07:53:15
回答 1查看 2.1K关注 0票数 1

NServiceBus.dll -版本5.2.9和NServiceBus.Host -版本6.0.0

我正在开发一个带有可插入加载项的工作流应用程序。

在我的解决方案中,我有一个NServiceBus主机程序集,我使用NServiceBus.Host.exe托管它。为了防止扫描,我在EndpointConfigurationType中定义了NServiceBus.Host.exe.config。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<appSettings>
 <add key="EndpointConfigurationType" value="Libra.Workflow.Host.EndpointConfig, Libra.Workflow.Host" />
</appSettings>

我已经验证了使用此配置的原因是,如果我输入了一些未知类型,就会得到一个错误,还因为me EndpointConfig类在进行任何扫描之前都是实例化的

在这个类的定制方法中,我添加了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void Customize(BusConfiguration cfg)
{
  cfg.AssembliesToScan(AllAssemblies.Matching("Libra.Workflow.Messages.dll"));
  ...
}

现在,当我运行这个项目时,我会得到一个错误,因为NServiceBus正在扫描所有程序集,并且对System.AddIn的性质做了一些程序集不能被扫描!

这种扫描是在Libra.Workflow.Host被实例化之后立即进行的,但是在定制方法被称为之前,就会发生。下面是此扫描的调用堆栈:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
at NServiceBus.Hosting.Helpers.AssemblyScanner.ScanAssembly(String assemblyPath, AssemblyScannerResults results) in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Hosting\Helpers\AssemblyScanner.cs:line 153
at NServiceBus.Hosting.Helpers.AssemblyScanner.GetScannableAssemblies() in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Hosting\Helpers\AssemblyScanner.cs:line 63
at NServiceBus.GenericHost..ctor(IConfigureThisEndpoint specifier, String[] args, List`1 defaultProfiles, String endpointName, IEnumerable`1 scannableAssembliesFullName) in c:\BuildAgent\work\a3de8759ee491634\src\NServiceBus.Hosting.Windows\GenericHost.cs:line 33
at NServiceBus.Hosting.Windows.WindowsHost..ctor(Type endpointType, String[] args, String endpointName, IEnumerable`1 scannableAssembliesFullName) in c:\BuildAgent\work\a3de8759ee491634\src\NServiceBus.Hosting.Windows\WindowsHost.cs:line 21
at NServiceBus.Hosting.Windows.HostServiceLocator.DoGetInstance(Type serviceType, String key) in c:\BuildAgent\work\a3de8759ee491634\src\NServiceBus.Hosting.Windows\HostServiceLocator.cs:line 31
at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key) in c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocatorImplBase.cs:line 49

我得到的错误消息是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Could not enumerate all types for
'C:\msc\Trunk\Libra.Workflow\Build\Libra.Workflow.Host\AddIns\Libra.Workflow\Libra.Workflow.Processors.dll'

为什么NServiceBus要扫描这个动态链接库,我如何防止它?

注意:,因为这是一个AddIn DLL,在Libra.Workflow.Host或任何其他相关程序集中甚至都没有对它的引用,所以NServiceBus绝对没有必要去触摸它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 01:33:28

NServiceBus.Host限制组装扫描的一种方法是使用/scannedAssemblies开关。一个警告是显式地传递NServiceBus.Core和NServiceBus.Host程序集:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NServiceBus.Host.exe /scannedAssemblies:"NServiceBus.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c" /scannedAssemblies:"NServiceBus.Host, Version=6.0.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c"

此命令将扫描那些NServiceBus程序集和通过EndpointConfigurationType应用程序设置指定的程序集。如果希望指定其他程序集(如Libra.Workflow.Messages),则可以添加其他/scannedAssemblies开关。

有关详细信息,请参阅此文档页:http://docs.particular.net/nservicebus/hosting/nservicebus-host/#configuring-the-endpoint-controlling-assembly-scanning-using-the-command-line

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35871942

复制
相关文章
dotnet C# 反射扫描程序集所有类型会不会触发类型静态构造函数
在 dotnet 里面,有很多框架都喜欢扫描程序集进行初始化逻辑,在扫描程序集的所有类型的时候,相当于碰到所有类型。而某个类型的静态构造函数将会在某个类型被使用之前被 CLR 调用,那么扫描类型是否会触发此类型的静态构造函数的调用?答案是不会的
林德熙
2021/10/18
6870
获取项目程序集,排除所有的系统程序集(Microsoft.***、System.***等)、Nuget下载包
using Microsoft.Extensions.DependencyModel; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Runtime.Loader; using System.Threading.Tasks; namespace ABenNetCore.FluentValidation.WebApi { /// <sum
跟着阿笨一起玩NET
2022/09/08
6290
SOA、ESB、NServiceBus、云计算 总结
SOA SOA 是通过功能组件化、服务化,来实现系统集成、解决信息孤岛,这是其主要目标。而更进一步则是实现更快响应业务的变化、更快推出新的应用系统。与此同时,SOA 还实现了整合资源,资源复用。 SO
用户1172223
2018/01/29
2.4K0
SOA、ESB、NServiceBus、云计算 总结
IIncrementalGenerator 增量 Source Generator 生成代码入门 获取引用程序集的所有类型
本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何获取到当前正在分析的程序集所引用的所有的程序集,以及引用的程序集里面的所有类型
林德熙
2023/06/23
3310
IIncrementalGenerator 增量 Source Generator 生成代码入门 获取引用程序集的所有类型
旅行者探测器系统 --- 集域名扫描,端口扫描,目录扫描,漏洞扫描的工具系统
作为一个渗透人员,在每次渗透网站的时候都要拿出一堆黑客工具,比如nmap, awvs, 御剑等工具进行测试,由于实在厌烦了一些低级重复性的工作,趁着2020年新年创建了一个工具集合平台,将渗透测试常见的域名扫描,端口扫描,目录扫描,漏洞扫描的工具集合在一起
Power7089
2020/03/12
2.7K0
二、源代码=>程序集及程序集概念介绍
文本脉络图如下: 一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了编译器将源文件编译成托管模块(中间语言和元数据),本文主要介绍如何将托管模块合并成程序集. 1、程序集的基本概念
郑小超.
2018/01/26
8280
java NIO字符集Charset 支持的所有字符集
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
1.4K0
使用python扫描文件夹获取所有文件路径
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
JQ实验室
2022/01/11
4.4K0
tcping扫描所有端口_tcping端口检测工具使用
大家都知道检测网络状态是,无论是服务器/客户机 最常用的就是ping命令,但ping命令只能检测ICMP协议,若对方禁止ping协议了,自然ping命令也就无法检测了,此时,我们可以通过tcping工具以tcp/udp协议方式来代替ping命令检测网络延迟状况,于此同时,我们还可以监听对方开放了哪些端口等信息。
全栈程序员站长
2022/09/09
2.5K0
tcping扫描所有端口_tcping端口检测工具使用
查找 .Net 程序集
我从观看 .net 程序集被移动和挖空的经验中知道,不会有命令行参数。我的大部分内容都不会触发。但是,现在它的移动对我来说很重要。从过去的工作中,我知道 Windows 上有许多本机 .Net 程序集。有些甚至通过 SDK 或其他开发人员工具进入。本土的可能是最有趣的。我们如何找到它们?
Khan安全团队
2022/01/26
6170
可爱可恨的扫描程序 Censys
刘慈欣说过,技术本身并没有善恶,只是人性的放大器。而从 Censys 这种扫描程序背后,我看到的人性更多是恶,只因为它轻而易举地就把你煞费苦心隐藏的信息全部公开了出来。
Shiroka
2022/04/28
8.1K1
可爱可恨的扫描程序 Censys
shutdown 指令关闭所有程序
使用 shutdown  时,在系统关机前,可以通知所有登录者系统将要关闭。此时 login 指令会被冻结,新用户将不能再登录,这是推荐使用的安全关机方式。关机之前,所有进程都会受到 shutdown 指令所发送的关闭进程信号,然后向 init 程序发送信号,要求它改变运行等级(runlevel)。
用户1685462
2021/09/06
1.7K0
页面抖动 和 程序驻留集(工作集)
在页面置换过程中的一种最糟糕的情形是,刚刚换出的页面马上又要换入主存,刚刚换入的页面马上就要换出主存,这种频繁的页面调度行为称为抖动,或颠簸。如果一个进程在换页上用的时间多于执行时间,那么这个进程就在颠簸。 频繁的发生缺页中断(抖动),其主要原因是某个进程频繁访问的页面数目高于可用的物理页帧数目。虚拟内存技术可以在内存中保留更多的进程以提髙系统效率。在稳定状态,几乎主存的所有空间都被进程块占据,处理机和操作系统可以直接访问到尽可能多的进程。但如果管理不当,处理机的大部分时间都将用于交换块,即请求调入页面的操作,而不是执行进程的指令,这就会大大降低系统效率。
西湖醋鱼
2020/12/30
1K0
页面抖动 和 程序驻留集(工作集)
用shell扫描局域网所有IP的MAC地址
#!/bin/bash # Ip=ifconfig eth0|awk -F '[:B]' '/inet addr/{print $2}' Mask=ifconfig eth0|awk -F'[:$]' '/inet addr/{print $4}' for ((i=1;i< =4;i++));do Tmp=echo $Ip|awk -F &quot;.&quot; '{printf $'$i'}' Ip_Bin+=echo &quot;obase=2;$Tmp&quot;|bc|awk '{
用户7108768
2021/10/31
1.7K0
怎样反射程序集?
3、程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*)。
静心物语313
2020/03/24
5310
怎样反射程序集?
关于强命名程序集
如何创建强命名程序集(Strong Name Assembly)     创建一个强命名程序集首先需运维
Java架构师必看
2021/03/22
6520
程序集未加载错误
csproj文件中缺少文件引用,添加即可,添加成功后,bin文件夹下会自动拷贝过去,否则发生找不到引用。 ef中容易出现此类问题
sofu456
2020/03/18
1.1K0
如何掌握所有的程序语言,对的,是所有
很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 :P 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。
JavaQ
2019/11/25
9100
【1024程序员节】致敬所有程序员
2002年,俄罗斯程序员Valentin Balt收集签名,向俄罗斯联邦政府请愿将9月13日设定为程序员节。2009年9月11日,俄罗斯总统梅德韦杰夫在节日安排方案上签了名,“程序员节”从此成为了俄罗斯的一个正式节日,之后更发展成了一个世界性的节日(虽然不放假)。
java思维导图
2018/11/22
1.3K0
点击加载更多

相似问题

如何配置NServiceBus以扫描程序集以获取IMessage?

23

在NServiceBus 6中扫描程序集时出现异常

17

无论设置如何,NServiceBus都会加载所有程序集

20

升级NServiceBus后“找不到程序集”

23

如果程序集已被扫描,请停止RegisterAssemblyModules重新扫描程序集?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文