RT,老的 fw 項目遷移 core 2.1,其中有一個 Instance的實現類, 大概貼一下代碼:var builder = new ContainerBuilder();ConfigurationSettingsReader reader = new ConfigurationSettingsReader("autofac");SectionHandler handler = reader.SectionHandler;var element = handler.Components.FirstOrDefault(item => item.Service.Contains(typeof(T).FullName));Autofac.IContainer container = null;T t;if (element == null)//配置文件中未配置,采用默認注冊{ //此處省去一大段}else{ builder.RegisterType<T>(); builder.RegisterModule(reader);}container = builder.Build();t = container.Resolve<T>();return t; 泛型T是定義在類上邊的 (public class Instance<T> where T : IService),大概意圖就是,如果讀取到配置文件中的匹配類型,那么就用配置文件的實現類去實例化對象并返回,否則就去根據各種類名什么的去按命名規則去拼出實現類。那么問題就是, 最新版本的Autofac 已經沒有ConfigurationSettingsReader了,那么類似的方法要怎么實現,core 中 已經都是 json文件單獨去定義 autofac的配置了, 或者說,我在startup 里邊已經注入了實現,那么在這個工具類的程序集里邊,怎么顯示的去拿到 Resolve<T> 的對象呢? 這個寫法是要怎么寫,或者說 startup里的 container 在其他程序集中如何取到?
- 1 回答
- 0 關注
- 925 瀏覽
添加回答
舉報
0/150
提交
取消