就Unity使用有感

使用了Unity有段时间了,但是对其了解不深刻。自己写篇文章来以备后用吧。

创建一个website或者WebApplication

增加Global.asax文件  在Application_Start方法总增加初始化IUnityContainer容器的操作

 

代码

   
IUnityContainer container = new UnityContainer();
container
.RegisterType
< ImplService, UnityService > ();
container
.RegisterInstance(
new ServiceMethod());
WebSingleton.ApplicationContainer
= container;

 

 

注册接口和实现

添加单例

 

代码

   
public static class WebSingleton
{
public static IUnityContainer ApplicationContainer
{
get
{
return HttpContext.Current.Application[ " Container " ] as IUnityContainer;
}
set
{
HttpContext.Current.Application[
" Container " ] = value;
}
}
}

创建页面基类 BasePage

 

代码

   
public class BasePage : System.Web.UI.Page
{
[Dependency]
public ImplService service { get ; set ; }
protected override void OnLoad(EventArgs e)
{
WebSingleton.ApplicationContainer.BuildUp(
this );
base .OnLoad(e);

}
}

 

 

将容器 BuildUp 需要注意的是ImplService接口必须加上[Dependency]这样才能实现注入,不然ImplService一直会报空指针异常

接口:


  
public interface ImplService
{
bool UserLogin( string uname, string password);
}

 


  
public class ServiceMethod
{
[Dependency]
public AdminService adminService { get ; set ; }
}

 

 

实现:

代码

   
public class UnityService : ServiceMethod, ImplService
{
#region ImplService Members

public bool UserLogin( string uname, string password)
{
return this .adminService.UserLogin(uname, password);
}

#endregion
}

 

 

 


  
public class AdminService
{

public bool UserLogin( string usnme, string password) {
return true ;
}
}

 

 

可能设计不是特别合理,只是自己作为使用Microsoft.Practices.Unity后的样例。请指正!谢谢。

下面为源码下载地址:http://www.nvrenlin.com/code/TestUnity.rar 

 女人林这个小站是作者的 也希望大家支持

女人时尚

重庆资讯 

转载于:https://www.cnblogs.com/hack1506/archive/2010/12/28/1918494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值