`
izuoyan
  • 浏览: 9221672 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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:

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

分享到:
评论

相关推荐

    ASP.NET MVC4中使用Unity Ioc Container 实例

    Unity IoC Container是Microsoft提供的一款轻量级的依赖注入容器,它可以帮助我们管理对象的生命周期,方便地注入依赖。 在这个实例中,我们将探讨如何在ASP.NET MVC4项目中集成Unity IoC Container,并使用它来...

    ASP.NET Mvc + NHibernate + Unity Application Block 示例程序

    ASP.NET MVC、NHibernate 和 Unity Application Block 是三个在软件开发中广泛应用的技术,它们共同构建了高效、可扩展的Web应用程序。下面将详细解释这三个技术及其在实际应用中的结合。 **ASP.NET MVC** ASP.NET ...

    Unity MVC实现依赖注入实例

    在.NET环境中,Unity框架是微软推荐的一种实现DI的工具,尤其适用于ASP.NET MVC项目。本实例将详细介绍如何在Unity MVC中实现依赖注入。 首先,理解依赖注入的核心概念:对象的依赖关系不在对象内部创建,而是通过...

    asp.net mvc 使用UnityIOC 的功能

    总结来说,这个话题涵盖了ASP.NET MVC应用中使用Unity IOC容器实现依赖注入的基本概念,以及如何配置Unity来处理数据库操作,尤其是与MySQL数据库的交互。通过这样的实践,开发者可以创建出更灵活、易于测试和维护的...

    mvc4 ioc 依赖注入简单示例实现

    通过这种方式,我们实现了在ASP.NET MVC4中使用Unity进行依赖注入。这种方式的好处在于,我们的Controller并不关心依赖的创建,只需要关注业务逻辑。同时,由于依赖是通过接口注入的,我们可以很容易地替换实现,...

    asp.net 面试题

    12. **依赖注入(DI)与控制反转(IoC)**:阐述DI和IoC的概念,如何使用Unity、 Autofac等容器实现服务注册和解析。 13. **单元测试与集成测试**:了解如何使用NUnit、MSTest或xUnit编写测试,以及TDD(测试驱动...

    剖析ASP.NET MVC的DependencyResolver组件

    例如,如果我们使用Autofac作为依赖注入容器,我们可以创建一个继承自IDependencyResolver的类,并在这个类的实现中,把对GetService和GetServices的调用,转而调用Autofac的解析器来实现。 四、如何利用...

    ASP.NET中文手册

    - 依赖注入:了解IoC容器(如Unity或Autofac),以实现松散耦合和可测试的代码。 - 单元测试:使用NUnit、MSTest等工具进行ASP.NET应用程序的单元测试。 10. **部署与性能优化** - IIS配置:设置IIS服务器以托管...

    asp.net mvc4控制反转

    总结,控制反转(IoC)和依赖注入(DI)在ASP.NET MVC4中提供了强大的设计模式,帮助我们构建更灵活、可测试和可维护的Web应用程序。通过选择合适的IoC容器和适当地配置依赖关系,我们可以充分利用这些优点,提升...

    asp.net常用代码

    9. **依赖注入(DI)与IoC容器**:ASP.NET支持依赖注入,允许在运行时动态组合对象,提高代码可测试性和可维护性。Unity、Autofac和 Ninject是常见的IoC容器。 10. **Entity Framework**:作为ORM(Object-Relational ...

    asp.net常见问题解答

    ASP.NET Core中内置了依赖注入容器,而在ASP.NET Framework中,可以借助第三方库如Unity或 Autofac 实现。 14. **Web部署和发布** 使用Visual Studio的发布功能,可以轻松地将ASP.NET应用程序部署到各种目标,如...

    ASP.NET深入编程.rar

    7. **依赖注入**:ASP.NET框架支持依赖注入,这有助于解耦组件,提高代码的可测试性和可维护性。通过容器,如Unity或 Autofac,可以实现对服务和对象的管理。 8. **Web API开发**:ASP.NET Web API是一个用于构建...

    asp.net面试题整理

    8. **依赖注入**:理解DI(Dependency Injection)和IoC(Inversion of Control)容器的概念,如Unity或 Autofac,以及如何在ASP.NET应用中实现。 9. **安全性**:熟悉身份验证(Forms Authentication、Windows ...

    asp.net 33中种常用代码

    21. **依赖注入**:通过容器如Unity或Autofac,实现对象的创建和管理,提高代码的灵活性和可测试性。 22. **异常过滤器**:在ASP.NET MVC中,异常过滤器可以捕获并处理控制器方法抛出的异常。 23. **日志记录**:...

    c# _ASP.NET面试题大全

    9. **依赖注入**:理解DI和IoC容器,如Unity或Autofac,提高代码可测试性和解耦性。 10. **部署和配置**:IIS配置,发布和调试技巧,错误日志记录等。 面试题还可能涉及实际项目经验,如性能优化、数据库设计、安全...

    ASP.NET+MVC+ENTLIB+LOG4NET+IOC

    **ASP.NET** 是微软提供的一个用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了丰富的功能,包括服务器控件、数据绑定、事件驱动模型等,使得开发者可以高效地构建Web应用。 **MVC ...

    ASP.NET 资料

    2. **依赖注入**:如果MvcApplication涉及到依赖注入,那么可能会看到对IoC容器的配置,如Unity、Autofac或Ninject,这有助于实现组件解耦和测试。 3. **中间件**:ASP.NET MVC允许使用中间件来处理HTTP请求。Mvc...

    asp.net mvc4/5 plugin

    ASP.NET MVC4/5支持多种DI容器,如Unity、Autofac和 Ninject等。通过DI,可以轻松地将插件中的服务实例化并注入到控制器或其他依赖项中,使得插件间的耦合度降低,提高代码可维护性和测试性。 3. **路由注册** ...

    微软企业库Unity演示

    【微软企业库Unity演示】 微软企业库(Microsoft Enterprise Library...通过研究这个演示,你不仅可以掌握Unity容器的使用,还能理解依赖注入和控制反转在实际项目中的价值,这对于提升软件设计和架构能力非常有帮助。

    ASP.NET源码——[CMS程序]Shangducms NT v2.0 beta 1.zip

    7. **依赖注入**:为了提高代码的可测试性和可维护性,Shangducms NT可能使用依赖注入(DI)和控制反转(IoC)容器,如Autofac或Unity,以解耦组件间的依赖关系。 8. **数据库集成**:ASP.NET可以轻松地与各种...

Global site tag (gtag.js) - Google Analytics