首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scan.TheCallingAssembly、scan.WithDefaultConventions在StructureMap中的作用

scan.TheCallingAssembly、scan.WithDefaultConventions在StructureMap中的作用
EN

Stack Overflow用户
提问于 2012-05-16 20:20:06
回答 1查看 2.6K关注 0票数 5

StructureMap-MVC3包添加到ASP.NET MVC应用程序时,会添加一个包含Initialize方法的IoC类(由App_Start文件夹中的一些代码调用),其中包含以下内容:

代码语言:javascript
复制
public static class IoC
{
    public static IContainer Initialize()
    {
        ObjectFactory.Initialize(x =>
            {
                x.Scan(scan =>
                    {
                        scan.TheCallingAssembly();
                        scan.WithDefaultConventions();
                    });
                // x.For<IExample>().Use<Example>();
            });
        return ObjectFactory.Container;
    }
}

scan.TheCallingAssembly()scan.WithDefaultConventions()代码的用途是什么?我在StructureMap documentation中看不到对这些方法的很好的解释。

在非MVC项目中使用StructureMap时,我发现可以删除整个x.Scan部分,而不会产生任何影响。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-16 22:39:29

扫描会查看程序集中定义的所有类型,并应用StructureMap约定来确定是否/如何在容器中注册它们。

WithDefaultConventions的意思是:“如果在扫描时我发现了一个接口IExample,并且有一个实现IExample的类型Example,那么将Example注册为IExample的默认类型”。

在许多情况下,您将能够向容器请求您正在寻找的任何东西(IExample),并且它将返回一个实现,而不需要任何进一步的配置。

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

https://stackoverflow.com/questions/10618385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档