From 738df70120209daecd85566d0c50dbf56d9e4453 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 17 十二月 2024 21:06:59 +0800 Subject: [PATCH] 一些更改 --- Tiger.Api/Autofac/AutoFacContianer.cs | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Tiger.Api/Autofac/AutoFacContianer.cs b/Tiger.Api/Autofac/AutoFacContianer.cs index db6b664..3ce35cd 100644 --- a/Tiger.Api/Autofac/AutoFacContianer.cs +++ b/Tiger.Api/Autofac/AutoFacContianer.cs @@ -22,6 +22,7 @@ /// 瀹瑰櫒 /// </summary> public static IContainer Instance; + public static AppDomain AppDomain; /// <summary> /// 鍒濆鍖栧鍣� @@ -46,14 +47,24 @@ #region 鍔ㄦ�佸姞杞藉涓猟ll string[] assemblyPattern = new[] { "Tiger.Business([.].*)*.dll" }; - // 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) - ); + //AppDomain = AppDomain.CreateDomain("AutoFac Dll"); + //List<Assembly> assemblies = new List<Assembly>(); + //foreach (var file in Directory.EnumerateFiles(AppDomain.CurrentDomain.BaseDirectory, "*.dll", SearchOption.AllDirectories).Where(filename => assemblyPattern.Any(pattern => Regex.IsMatch(filename, pattern)))) + //{ + // var assembly = AppDomain.Load(Assembly.LoadFrom(file).GetName()); + // assemblies.Add(assembly); + //} + // 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) + //); + + + var assemblies = PluginManager.Load(AppDomain.CurrentDomain.BaseDirectory, "Tiger.Business([.].*)*.dll"); foreach (var assembly in assemblies) { builder.RegisterAssemblyTypes(assembly).AsImplementedInterfaces(); -- Gitblit v1.9.3