第一步:先写个前台代码
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"); } } } }
第二步:写个接口来提供注入入口
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ITest { public interface IService { bool UserLogin(string uname, string pwd); } }
第三步:实现这个接口
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 } }
第四步:调用依赖注入的类
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; } } } }