• .net web api ioc unity usage


    1.use nuget to install unity.webapi

    2.add configurations in application_start folder

    using Microsoft.Practices.Unity;
    using PatV2Tool.Bussiness.BLL;
    using PatV2Tool.Bussiness.Contract;
    using PatV2Tool.Bussiness.DAL;
    using PatV2Tool.Framework.Contract;
    using System.Web.Http;
    using Unity.WebApi;
    
    namespace PtvV2ToolWebApi
    {
        public static class UnityConfig
        {
            public static void RegisterComponents()
            {
                var container = new UnityContainer();
    
                // register all your components with the container here
                // it is NOT necessary to register your controllers
    
                // e.g. container.RegisterType<ITestService, TestService>();
    
                container.RegisterType<IServerService, ServerService>(new HierarchicalLifetimeManager());
    
                GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
            }
        }
    }
    View Code

    3.add to global.ascx something to 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http;
    using System.Web.Mvc;
    using System.Web.Optimization;
    using System.Web.Routing;
    
    namespace PtvV2ToolWebApi
    {
        // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
        // visit http://go.microsoft.com/?LinkId=9394801
    
        public class WebApiApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
    
                UnityConfig.RegisterComponents();
    
                WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
            }
        }
    }
    View Code

    3.if sometimes, "

    The type initializer for 'System.Web.Http. GlobalConfiguration' threw an exception.

    " appears,try applying the following cmdlet in nuget console.

    The type initializer for 'System.Web.Http. GlobalConfiguration' threw an exception.
    View Code
  • 相关阅读:
    spring的@Transactional注解详细用法
    解决:No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency
    SpringBoot2 启动报错 Failed to auto-configure a DataSource
    SpringBoot2 全局异常处理
    Intellij IDEA 将工程转换成maven工程 详解
    js性能优化
    JDK故障处理工具箱
    编写高性能的jquery代码
    maven工程解决jar包冲突依赖问题
    spring aop中xml配置文件中标签和属性对应的类
  • 原文地址:https://www.cnblogs.com/hualiu0/p/5003310.html
Copyright © 2020-2023  润新知