使用 StructureMap 创建插件扫描器

2024-03-20

我正在尝试为支付网关实现编写一个 StructureMap 插件扫描仪。我在外部库中创建了 IPaymentGateway 接口。我创建了 IPaymentGateway 的多个实现,并将这些 .dll 放在我的 C:\Extensions\ 文件夹中。

这是我的 StructureMap 配置:

         ObjectFactory.Initialize(cfg =>
        {
            cfg.Scan(scanner =>
            {
                scanner.AssembliesFromPath(@"C:\Extensions\");
            });
        });

这是我的调用代码:

var list = ObjectFactory.GetAllInstances<IPaymentGateway>().ToList();
list.ForEach(item => Console.WriteLine(item.FriendlyName));

我希望该列表应包含我的 IPaymentGateway 的每个实现,但它不包含任何内容。我缺少什么?

Thanks!


您需要使用扫描仪添加类型:

ObjectFactory.Initialize(cfg => {
    cfg.Scan(scanner =>
    {
      scanner.AssembliesFromPath(@"C:\Extensions\");
      scanner.AddAllTypesOf<IPaymentGateway>();
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 StructureMap 创建插件扫描器 的相关文章

  • 使用 HttpContextScoped() 时 StructureMap 不会处理数据上下文

    我的目标是拥有一个数据上下文 MainDbContext ASP NET MVC 中的每个 HTTP 请求 并在请求结束时处理数据上下文 我正在使用以下 StructureMap 配置 public static class Contain
  • IoC、Dll 引用和程序集扫描

    虽然这个问题与 StructureMap 有关 但我的一般问题是 使用 IoC 连接组件时 容器in code 相反 通过配置xml 你 通常需要明确的项目 构建 对所有程序集的引用 为什么要使用单独的组件 因为 抽象类驻留在 将组件与混凝
  • Structuremap 是否支持开箱即用的 Lazy?

    结构图是否允许您以惰性方式进行构造函数注入 意思是在使用之前不创建注入的对象 UPDATE StructureMap v3 开箱即用地实现了这一点 因此不再需要这个技巧 StructureMap 版本 2 没有 但通过一些技巧 您可以让它完
  • 使用 StructureMap 实现策略模式的最佳方法

    我的 Web 应用程序在业务逻辑和表示逻辑方面有一些细微的变化 具体取决于登录的用户类型 似乎通过根据用户类型注入不同的具体类来获得变化非常适合 DI 所以我想知道我应该使用 StructureMap 的哪些功能来实现这一目标 或者我是否偏
  • StructureMap HowTo:深层对象的条件构造

    我很难有条件地创建依赖关系 谷歌搜索 我还没有找到使用 BuildStack 和条件谓词的好例子 这是我在注册表中所做的事情 snip public SomeRegistry this InstanceOf
  • 使用同一接口调用多个类

    我有一个像这样的界面 public interface IAddressProvider string GetAddress double lat double long 在我的消费类中 我想循环遍历具体的提供者 直到得到结果 例如 简化的
  • 当 ASP.NET 5 (vNext) 无法重定向绑定时我该怎么办?

    我刚刚接触 MVC 6 我安装了 VS 2015 并使用默认设置ASP NET 5 preview MVC Web Application模板在本地 IIS 下一切运行良好 然后我尝试使用以下命令切换默认 DI 容器StructureMap
  • StructureMap:如何为其所有接口注册相同的实例

    StructureMap新手问题 public class SomeClass IInterface1 IInterface2 我希望通过以下测试 Assert AreSameInstance container GetInstance
  • StructureMap 和扫描组件

    因此 我有一个使用 StructureMap 的 NET 解决方案 并且我想让 StructureMap 读取一个外部程序集 该程序集实现该解决方案中项目的接口并为其定义注册表项 我的解决方案的 StructreMap 配置 ObjectF
  • StructureMap、NHibernate 和多个数据库

    我正在使用 Fluent NHibernate 开发 Asp Net MVC 3 应用程序 我只是尝试使用 StructureMap 添加 IoC 容器 我已经实现了一个自定义控制器工厂 它使用 StructureMap 来创建控制器并注入
  • 在 StructureMap 中注册一个默认实例

    我有一堂课 MyService 具有静态属性 MyService Context 代表当前上下文 特定于当前登录的用户 因此它会发生变化 我想要实现的目标 ObjectFactory Initialize x gt x For
  • 结构图 Web Api 2 帐户控制器和个人帐户

    我对 IOC 和 web api 2 相当陌生 但已经让 StructureMap 在 web api 2 中的我自己的控制器上工作 我没有管理的是使用个人帐户在 AccountController 上使用 StructureMap 我使用
  • 如何释放StructureMap中的HybridHttpOrThreadLocalScoped对象?

    在我使用的 Windows 服务中执行后台任务时HybridHttpOrThreadLocalScoped用于存储 NHibernate ISession 的实例 由于 Windows Server 中没有 HTTPContext 我想知道
  • 使用 StructureMap 在 ASP.NET MVC 3 RC2 中进行操作过滤器依赖注入

    我一直在研究 ASP NET MVC RC2 中的 DI 支持 我已经为 NHibernate 的每个请求实现了会话并且需要注入ISession进入我的 工作单元 操作过滤器 如果我直接引用 StructureMap 容器 ObjectFa
  • 将属性注入到动作过滤器中

    我正在尝试让属性注入在自定义操作过滤器属性上工作 它按预期工作 但是 我想在属性本身上使用 DI 我的过滤器看起来像这样 AttributeUsage AttributeTargets Class public sealed class H
  • 使用 ASP.NET Web API 2.1 配置依赖项注入

    我正在创建一个 ASP NET Web API 2 1 站点 并且由于我想将依赖项直接注入到控制器中 因此我创建了自己的 IDependencyResolver 实现 以便 StructureMap 将为我处理该问题 public clas
  • MVVM 和 StructureMap 的使用

    我的 MVVM 应用程序中有大量父级详细信息 ViewModel 像这样的事情 SchoolsViewModel SchoolViewModel LessonViewModel PupilsViewModel PupilViewModel
  • StructureMap 和 HTTP 请求范围的服务 - 为什么我的服务在单个范围内创建两次?

    我有一个使用 StructureMap 的 ASP NET MVC 应用程序 我创建了一个名为 SecurityContext 的服务 它具有静态 Current 属性 简化版本如下所示 public class SecurityConte
  • 多个构造函数与 Structuremap 改变范围?

    为了说明问题 这是我的设置的简化版本 我有一家这样的工厂 public interface IFactory public class Factory IFactory public Factory Console WriteLine pa
  • 如何为 asp.net MVC 5 配置 StructureMap

    我遇到以下错误 我的设置与 asp net mvc 4 类似 没有为此对象定义无参数构造函数 描述 安 当前网页执行期间发生未处理的异常 要求 请查看堆栈跟踪以获取有关的更多信息 错误及其在代码中的起源 异常详细信息 System Miss

随机推荐

  • 带有 OR 条件的 COUNTIFS 给出#SPILL!因此

    我有以下公式 COUNTIFS MachineData N N Arlington RenewNorfolk MachineData X X Y MachineData E E lt gt rinse MachineData C C gt
  • 如何在 Objective C 中找到 HH:MM:SS 格式的两个日期之间的差异?

    我认为标题本身说明了我想做什么 不过 让我澄清一下 我现在正在开发一个应用程序 其中有两个日期 格式如下 年 月 日 时 分 SS 我需要使用它来计算格式中两个日期之间的差异 HH MM SS 我在维基上搜索并尝试了运气但没有成功 有人可以
  • 我应该使用 int 还是 Int32

    In C int and Int32是同一件事 但我读过很多次int优先于Int32没有给出任何理由 有什么原因吗 我应该关心吗 两者确实是同义词 int看起来会更熟悉一些 Int32使 32 位对于阅读代码的人来说更加明确 我会倾向于使用
  • REST 确保 JSON 模式验证不起作用

    我正在使用 Spring Boot 和 REST Assured 来测试 REST API 我正在尝试使用 JSON 模式验证的示例 但它引发了此错误 java lang IllegalArgumentException Schema to
  • 查找会计年度特定日期所属的季度

    我正在使用 java 1 7 如何查找会计年度的特定日期所属的季度 该季度可以从任何月份的 1 日 JAN DEC 开始 并且还需要该季度的开始日期和结束日期 即假设FY 2017年4月1日 2018年3月31日 那么日期2017年6月26
  • Android - 如何在新 API 中请求位置更新?

    我正在研究 google 的新位置 API 以获取纬度和经度值 private void getLastLocation FusedLocationProviderClient mFusedLocationClient LocationSe
  • 如果用户不在角色中,则忽略@Html.Action()

    In my View我渲染菜单 Html Action RenderMenu Admin and Html Action RenderMenu Manager 行动地点 Authorize Roles Admin public Action
  • 如何在自定义 .NET Web 控件中指定必需的属性?

    private string itemId Browsable true Description Required identifier for the Item public string ItemId get return itemId
  • 按位左移函数

    我正在尝试实现一个左旋转函数 将整数 x 左旋转 n 位 例如 rotateLeft 0x87654321 4 0x76543218 法律行动 gt 到目前为止我有这个 int rotateLeft int x int n return x
  • 使用 Ant 将外部 jar 文件包含在新的 jar 文件构建中

    我刚刚 继承 了一个 Java 项目 而不是来自 Java 背景 有时我会有点迷失 Eclipse 用于在开发过程中调试和运行应用程序 我通过 Eclipse 成功创建了一个 jar 文件 其中 包含 所有必需的外部 jar 如 Log4J
  • sqlite 删除最后一行刷新不起作用

    我的列表视图上有一个长按选项 它将删除长按的数据库条目 删除确实有效 如果我退出应用程序并返回 我会看到 无行 消息 完美的 在我的代码中 我首先调用 DBadapter 方法来删 除一行 然后 我在 dbadapter 中调用 fetch
  • 如何在 python 中录制不确定持续时间的音频并允许暂停和恢复功能?

    我正在编写一个 Python 应用程序来将音频录制为 WAV 文件 直到用户按下pause or stop 暂停音频后 用户还应该能够resume记录 此外 应用程序无法预先知道录音会持续多长时间 应用程序应避免内存不足 因为录制可能会很长
  • 获取 DER 编码的公钥

    使用 BounceCastle 我可以运行以下代码 它生成密钥对并返回 ASN 1 DER 编码格式 Generate new key var generator new RsaKeyPairGenerator generator Init
  • 如何在 Dynamics CRM 2016 中使用 ExecuteWorkflowRequest 调用带有参数的操作?

    Context 我可以使用 ExecuteWorkflowRequest 成功调用操作 其中调用的操作没有参数 var request new ExecuteWorkflowRequest EntityId myEntityId Workf
  • 使用 php://memory 包装器会导致错误

    我试图通过添加一个方法来扩展 Worx 的 PHP 邮件程序类 该方法允许我使用字符串数据而不是文件路径添加附件 我想出了这样的事情 public function addAttachmentString string name encod
  • Mac OS X - 没有菜单的应用程序?

    我想构建一个没有菜单栏 停靠栏图标或位于应用程序切换器中的应用程序 基本上 它应该像 Quicksilver 一样 我通过全局热键 例如 Safari 激活它 然后会出现一个小窗口 但 Safari 不会变得不活动 也不会显示不同的菜单栏
  • MediaPlayer getDuration 返回 -1412558917

    我完全迷失了 我发现代码非常简单 并且在文档中没有找到任何返回这么大负数的原因 代码如下 private int getDuration String audioPath throws Exception mediaPlayer new M
  • iOS 6.0.1 模拟器

    我已经安装了XCode 4 5 2 它只有 6 0 的模拟器 我想要 iOS 6 0 1 iPad 模拟器 有人可以帮助我如何获得 6 0 1 版本吗 我检查了 mac 应用商店的更新 它是最新的 XCode 如果我安装 Xcode 4 6
  • 如何覆盖 Angular 中的现有组件?

    我正在尝试覆盖角度中的现有组件 我原来的组件是 Component selector app orginal templateUrl orginal component html styleUrls orginal component cs
  • 使用 StructureMap 创建插件扫描器

    我正在尝试为支付网关实现编写一个 StructureMap 插件扫描仪 我在外部库中创建了 IPaymentGateway 接口 我创建了 IPaymentGateway 的多个实现 并将这些 dll 放在我的 C Extensions 文