ASP.NET Core中使用Unity5

⒈添加相关依赖

Install-Package Unity
Install-Package Unity.RegistrationByConvention

⒉扫描项目接口实现类 

复制代码
 1 using System;
 2 using System.Linq;
 3 using Unity;
 4 using Unity.RegistrationByConvention;
 5 
 6 namespace Unity_Test.Unity
 7 {
 8     public class UnityConfig
 9     {
10         private static Lazy<IUnityContainer> container = new Lazy<IUnityContainer>(() =>
11         {
12             var container = new UnityContainer();
13             RegisterTypes(container);
14             return container;
15         });
16 
17         public static IUnityContainer GetConfiguredContainer()
18         {
19             return container.Value;
20         }
21 
22         public static void RegisterTypes(IUnityContainer container)
23         {
24 
25             var assemblyList = AllClasses.FromLoadedAssemblies().Where(w => w.FullName.Contains("Unity_Test"));
26 
27             container.RegisterTypes(
28                   assemblyList,
29                   WithMappings.FromAllInterfacesInSameAssembly,
30                   WithName.Default,
31                   WithLifetime.PerResolve);
32         }
33     }
34 }
复制代码

⒊代码中注入 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 using Unity;
 5 
 6 namespace Unity_Test
 7 {
 8     public class Test
 9     {
10         [Dependency]
11         public IService service { get; set; }
12         public void sysout()
13         {
14             service.sayHello();
15             Console.ReadKey();
16         }
17     }
18 }
复制代码

 

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10511577.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(2017)  评论(6编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题