服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-10-16 a32d6d34818393555876d4a6c4671e67ecdaf76e
Tiger.Api/Autofac/AutoFacContianer.cs
@@ -39,28 +39,25 @@
        /// <param name="builder"></param>
        public static void Build(ContainerBuilder builder)
        {
            var assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "Tiger.Business.dll");
            //注入Tiger.Business.dll
            builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces();
            ////注入Tiger.Business.dll
            //var assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "Tiger.Business.dll");
            //builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces();
            #region 动态加载多个dll
            //string[] assemblyScanerPattern = new[] { @"MyModule.*.dll"};
            string[] assemblyPattern = new[] { "Tiger.Business([.].*)*.dll" };
            //// Make sure process paths are same...
            //Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
            // 1. Scan for assemblies containing autofac modules in the bin folder
            List<Assembly> assemblies = new List<Assembly>();
            assemblies.AddRange(
                Directory.EnumerateFiles(AppDomain.CurrentDomain.BaseDirectory, "*.dll", SearchOption.AllDirectories)
                              .Where(filename => assemblyPattern.Any(pattern => Regex.IsMatch(filename, pattern)))
                              .Select(Assembly.LoadFrom)
            );
            //// 1. Scan for assemblies containing autofac modules in the bin folder
            //List<Assembly> assemblies = new List<Assembly>();
            //assemblies.AddRange(
            //    Directory.EnumerateFiles(Directory.GetCurrentDirectory(), "*.dll", SearchOption.AllDirectories)
            //             .Where(filename => assemblyScanerPattern.Any(pattern => Regex.IsMatch(filename, pattern)))
            //             .Select(Assembly.LoadFrom)
            //);
            //foreach (var assembly in assemblies)
            //{
            //    builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces();
            //}
            foreach (var assembly in assemblies)
            {
                builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces();
            }
            #endregion
            //读取配置文件,把配置关系装载到ContainerBuilder