zoukankan      html  css  js  c++  java
  • .net core 抽离Controller 独立dll 加载方案

    public static class DataServiceExtension
    {
        /// <summary>
        /// 注入数据
        /// </summary>
        /// <param name="services"></param>
        public static IServiceCollection AddDataService(this IServiceCollection services)
        {
            #region 依赖注入 
            var controllers = GetControlllers();
            var mvcBuilder = services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            foreach (var assemby in controllers)
            {
                // 引入抽离的Controller类库
                mvcBuilder.AddApplicationPart(assemby);
            }
            #endregion
    
            return services;
        }
    
        private static System.Reflection.Assembly[] GetControlllers()
        {
            var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory;
            string assemblyPath = System.IO.Path.Combine(path, @"GZ.FrameworkAPI*.dll");
            Assembly[] referencedAssemblies = System.IO.Directory.GetFiles(path, "GZ.FrameworkAPI*.dll").Select(Assembly.LoadFrom).ToArray();
            return referencedAssemblies;
        }
    }

    Startup.cs中ConfigureServices方法:

    services.AddDataService();

    .

    .

  • 相关阅读:
    Substrings(hdu 4455)
    打砖块(codevs 1257)
    AFO
    愿 你 出 走 半 生 , 归 来 仍 是 少 年
    洛谷 2691逃离
    51Nod 1021 石子归并
    洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
    codevs 2072 分配房间
    codevs 1388 砍树
    codevs 1288 埃及分数
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/13946155.html
Copyright © 2011-2022 走看看