用Microsoft.Practices.Unity实现简单的依赖注入

第一步:先写个前台代码

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;
            }
        }
    }

}


原文地址:https://www.cnblogs.com/jqbird/p/1917051.html