怎么在。网络中使用统一国际奥委会框架

  介绍

怎么在。网络中使用统一国际奥委会框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

。净国际奥委会统一框架的使用实例,具体内容如下

<强> 1。国际奥委会简介

奥委会(控制反转),控制反转

DI(依赖注入),依赖注入

国际奥委会的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。

<强> 2。统一引入

怎么在。网中使用统一国际奥委会框架

<强> 3。创建单例模式容器类

using  Microsoft.Practices.Unity;   using  Microsoft.Practices.Unity.Configuration;   using 系统;   using  System.Collections.Generic;   using  System.Configuration;   using 来;   using 包含;   using  System.Threading.Tasks;      namespace  UnityIocTest   {   ,///& lt; summary>   ,///Unity 国际奥委会单例模式,   ,///& lt;/summary>   public  class  UnitySingleton   ,{//才能单例   private 才能;static  UnitySingleton 实例;//国际奥委会才能容器   public 才能IUnityContainer 集装箱;//才能获取单例   public 才能static  UnitySingleton  getInstance ()   {才能   ,,if  (instance ==, null  | |, instance.container ==, null)   ,,{   ,,,string  configFile =,“Unity.config";   ,,,var  fileMap =, new  ExeConfigurationFileMap  {=,, ExeConfigFilename  configFile };   ,,,//从配置文件中读取配置信息   ,,,Configuration  Configuration =, ConfigurationManager.OpenMappedExeConfiguration (ConfigurationUserLevel.None fileMap也);   ,,,//获取指定名称的配置节   ,,,UnityConfigurationSection  section =, (UnityConfigurationSection) configuration.GetSection (“unity");   ,,,instance =, new  UnitySingleton ()   ,,,{   ,,,,//container =, new  UnityContainer () .LoadConfiguration ((UnityConfigurationSection) ConfigurationManager.GetSection (“unity"),“MyContainer")   ,,,,container =, new  UnityContainer () .LoadConfiguration(节,“MyContainer")   ,,,,//container =, new  UnityContainer ()   ,,,};   ,,,//instance.container.RegisterType ();   ,,}   ,,return 实例;   ,,}//国际奥委会才能注入实体   public 才能static  T  GetInstanceDAL ()   {才能   ,,return  getInstance () .container.Resolve ();   ,,}   ,}   }

此处是将统一配置配置单独成一个文件,方便管理。

<强> 4。添加国际奥委会相关类

接口类

public  interface  IExampleClass   {   ,void  DoHelloWord ();   }

,具体实现类

public  class  ExampleClass : IExampleClass   ,{   public 才能;void  DoHelloWord ()   {才能   ,,Console.WriteLine (“Hello 词!“);   ,,}   以前,}

实现类扩展

public  class  DIExampleClass   ,{//才能属性注入   (依赖)才能   public 才能IExampleClass  example {组,得到,,,}   ,,   private 才能;IExampleClass  testInject;      public 才能;void  DoWork ()   {才能   ,,example.DoHelloWord ();   ,,testInject.DoHelloWord ();   ,,}//才能方法注入   (InjectionMethod)才能   public 才能;void 初始化(IExampleClass 实例)   {才能   ,,testInject =,实例;   ,,}   以前,}

<强> 5。添加配置文件统一。配置

& lt; ? xml  version=?.0“,编码=皍tf-8", ?比;   & lt; configuration>   ,& lt; configSections>   ,& lt; section  name=皍nity",类型=癕icrosoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration",/比;   ,& lt;/configSections>   ,& lt; unity>   ,& lt; !——定义类型别名——比;   ,& lt; aliases>   & lt;才能add 别名=癐ExampleClass",类型=癠nityIocTest.IExampleClass, UnityIocTest",/比;   & lt;才能add 别名=癊xampleClass",类型=癠nityIocTest.ExampleClass, UnityIocTest",/比;   ,& lt;/aliases>   ,& lt; !——容器——比;   ,& lt; container  name=癕yContainer"比;   & lt;才能!映射关系——比;   & lt;才能!——& lt; register 类型=癐ExampleClass", mapTo=癊xampleClass"祝辞& lt;/register>——比;   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在。网络中使用统一国际奥委会框架