代码之家  ›  专栏  ›  技术社区  ›  Jalpesh Vadgama

如何使用结构图asp.net 3.5

  •  1
  • Jalpesh Vadgama  · 技术社区  · 15 年前

    我不熟悉结构图,但我想在asp.net站点中使用它进行依赖项注入 有人能给我推荐一个简单的例子来使用结构映射进行依赖注入吗

    2 回复  |  直到 15 年前
        1
  •  2
  •   Pure.Krome    15 年前

    您需要执行以下操作:-

    StructureMapConfiguration
        .ForRequestedType<IResourceA>()
        .TheDefaultIsConcreteType<ResourceB>()
        .CacheBy(InstanceScope.Singleton);
    

        2
  •  1
  •   CSharpAtl    15 年前

    Structure Map

    您可以通过编程或通过配置文件进行配置。

    编程示例(还有其他方法):

    StructureMap.StructureMapConfiguration.ForRequestedType<ISomething>().TheDefaultIsConcreteType<ConcreteSomething>();
    

    //The concrete type will be ConcreteSomething
    
    ISomething instance = ObjectFactory.GetInstance<ISomething>();
    

    您可以在配置文件中执行此操作:

    <StructureMap MementoStyle="Attribute">
            <DefaultInstance PluginType="Blah.ISomething, Blah.SomethingDLL" PluggedType="Blah.Concrete.ConcreteSomething,Blah.ConcreteDLL"/>
    </StructureMap>
    

     StructureMap.ObjectFactory.Initialize(x => { x.PullConfigurationFromAppConfig = true; });
    

    并按上述方法使用:

    ISomething instance = ObjectFactory.GetInstance<ISomething>();
    

    如果具体类有一个需要注入实例的构造函数,并且您已经配置了这些实例,那么具体类型将被框架注入。

    有几种方法可以将参数传递给构造函数、处理Gereric类型、创建使用特定构造函数/属性值配置的命名实例。我使用这个框架,非常喜欢它。