第一步:先寫個前台代碼
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; } } }}