zoukankan      html  css  js  c++  java
  • 用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;
                }
            }
        }
    
    }
    
    
    
    
  • 相关阅读:
    二分图那套理论
    洛谷P4351 [CERC2015]Frightful Formula【组合计数】
    「AGC023E」Inversions【组合计数】
    类欧几里得算法及其拓展
    OLAP 一些扯淡
    auto vectorized case shift
    备忘录
    lambda function pointer
    C++ atomic
    gdb 使用了 O0 但是还是有 <optimized out>
  • 原文地址:https://www.cnblogs.com/jqbird/p/1917051.html
Copyright © 2011-2022 走看看