【问题标题】:Creating plugin scanner with StructureMap使用 StructureMap 创建插件扫描器
【发布时间】:2011-03-14 13:53:53
【问题描述】:

我正在尝试为支付网关实现编写一个 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 实现,但它不包含任何内容。我错过了什么?

谢谢!

【问题讨论】:

    标签: structuremap


    【解决方案1】:

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

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

    【讨论】:

    • 很奇怪,我发誓我以前也这样做过,但并没有什么不同。现在它起作用了。一定又是那些该死的小鬼了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    相关资源
    最近更新 更多