当前位置: 首页 > news >正文

ASP.NET Web Application 中使用 Unity 依赖注入容器

下面的示例演示在ASP.NET Web Application 中使用 Unity 依赖注入容器。 下载 ASP.NetWeb Application 源码!!!
具体步骤如下:
1. 创建IUnityContainer 接口文件 – IUnity.cs
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.Unity;
namespace UnityASPNET
{
interface IUnity
{
IUnityContainer Container { get; }
}
}
2. 基于演示的需要,创建ILogger接口 – ILogger.cs
namespace Microsoft.Practices.Unity.Tests.TestObjects
{
// A dummy interface to support testing type mapping
interface ILogger
{
}
}
3. 创建ILooger接口的实现类 WebLogger.cs
namespace Microsoft.Practices.Unity.Tests.TestObjects
{
// A dummy class to support testing type mapping
public class WebLogger : ILogger
{
}
}
4. 创建 ASP.NET Global.ascx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Tests.TestObjects;
namespace UnityASPNET
{
public class Global : System.Web.HttpApplication, IUnity
{
private static UnityContainer _container; // private
静态成员变量
public static IUnityContainer Container // public 静态成员变量 Container
{
get { return _container; }
}
IUnityContainer IUnity.Container // 实现 IUnity 接口,返回 Continer 对象
{
get { return Container; }
}
protected void Application_Start(object sender, EventArgs e)
{
Initialize();
}
private static void Initialize()
{
// create the container at the application initialization phase.
if (_container == null)
_container = new UnityContainer(); //
初始化静态成员变量 _container
// register type 注册 ILogger 映射
_container.RegisterType<ILogger, WebLogger>();

}
}
}
5. 在ASP.NET 页面调用 IUnityContainer 对象
protected void Page_Load(object sender, EventArgs e)
{
IUnity UnityCtx = Context.ApplicationInstance as IUnity;

// This should find the WebLogger when trying resolve the ILogger
ILogger logger = UnityCtx.Container.Resolve<ILogger>();

Label1.Text = "Found following ILogger from unity container : "+logger.GetType().FullName.ToString();
下载ASP.NET Web Application 源码!!!
Source URL:
http://www.codeplex.com/unitycontributions/Thread/View.aspx?ThreadId=27698 by alexanderQX.

附件:
UnityASPNETSample_VS2008.rar 148 KB, 下载 178 次.

相关文章:

  • ARX 多段线的合并
  • 参加ESB沙龙
  • 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
  • Unix哲学基础
  • C# EXCEL 导入导出类(OLEDB的方式)
  • 相声:我要谈恋爱
  • C# 操作EXCEL样式 示例 --生成EXCEL审计表
  • C# 操作EXCEL
  • 新浪评出2008年度IT博客
  • c# 隐藏已打开的窗口,打开登陆窗口
  • 十个常用的S60手机软件
  • VB 操作ACCESS 实例 练习题--ATM取款机 代码段
  • 十大经典Java手机游戏 Top Ten Best Java Mobile Games
  • chrome下使用jquery中的load函数无效问题
  • C# 操作配置文件 App.config
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Asm.js的简单介绍
  • ES6系统学习----从Apollo Client看解构赋值
  • Git 使用集
  • Hibernate最全面试题
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java读取Properties文件的六种方法
  • PHP的类修饰符与访问修饰符
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 缓存与缓冲
  • 前端面试题总结
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 数组大概知多少
  • 思维导图—你不知道的JavaScript中卷
  • 问题之ssh中Host key verification failed的解决
  • 在Mac OS X上安装 Ruby运行环境
  • 找一份好的前端工作,起点很重要
  • 【干货分享】dos命令大全
  • 通过调用文摘列表API获取文摘
  • 移动端高清、多屏适配方案
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • ()、[]、{}、(())、[[]]命令替换
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (算法)求1到1亿间的质数或素数
  • (转载)OpenStack Hacker养成指南
  • ./和../以及/和~之间的区别
  • .cfg\.dat\.mak(持续补充)
  • .Family_物联网
  • .FileZilla的使用和主动模式被动模式介绍
  • .md即markdown文件的基本常用编写语法
  • .NET Core WebAPI中封装Swagger配置
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .Net 代码性能 - (1)
  • .NET 服务 ServiceController
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net反混淆脱壳工具de4dot的使用