用Microsoft.Practices.Unity实现简单的依赖注入
第一步:先写个前台代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ITest; namespace TestUnity { public partial class _Default : System.Web.UI.Page { protected void Page_Load( object sender, EventArgs e) { } protected void Button1_Click( object sender, EventArgs e) { IService service = WebSingleton.ApplicationContainer.Resolve<IService>(); if (service.UserLogin(TextBox1.Text, TextBox2.Text)) { Response.Write( "success" ); } } } } |
1 | 第二步:写个接口来提供注入入口 |
1 2 3 4 5 6 7 8 9 10 11 12 | using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ITest { public interface IService { bool UserLogin( string uname, string pwd); } } |
1 | 第三步:实现这个接口 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ITest { public class Service:IService { #region IService 成员 public bool UserLogin( string uname, string pwd) { return true ; } #endregion } } |
1 | 第四步:调用依赖注入的类 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Practices.Unity; using System.Web; namespace ITest { public class WebSingleton { public static IUnityContainer ApplicationContainer { get { return HttpContext.Current.Application[ "Container" ] as IUnityContainer; } set { HttpContext.Current.Application[ "Container" ] = value; } } } } |
1 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架