色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET MVC3 讓依賴注入來的更簡單(新補充了Ninject示例)

  昨天,我寫了一篇文章(參見:ASP.NET MVC 依賴注入),這種實現方式我個人一直感覺不太順,在寫出來與大家一起分享的同時,

  也是想讓大家提提自己的建議, 今天下載了微軟發布的最新的 ASP.NET MVC3 Beta 版,同時也仔細閱讀了它的 Release Notes,

  讓我感覺到驚喜的是,MVC3增加了對依賴注入的支持,增加了一  個 IDependencyResolver 接口定義,真的是很不錯,比起我原來的實現要順暢很多,

  還是老方法,上微軟牛人們的博客逛一圈看看有沒有已經寫好的代碼,有就拿來用之,沒有就只能自己寫了,結果讓我很失望,也可能是我太笨,

  我沒有找到一個完整的示例,只有一些代碼片斷,于是,我將其整理了一翻,也有一點點個人的心得,拿出來,與大家分享一下,

  如遇高人請不吝賜教,下面是代碼片斷。

  1、實現 MVC3 Beta 中提供的依賴注入接口 IDependencyResolverMyDependencyResolver.cs 的代碼  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Microsoft.Practices.Unity;

namespace Demo
{
    
public class MyDependencyResolver : IDependencyResolver
    {
        
#region IDependencyResolver 成員

        
/// <summary>
        
/// 依賴注入容器
        
/// </summary>
        private UnityContainer _unityContainer;

        
/// <summary>
        
/// 構造
        
/// </summary>
        
/// <param name="aUnityContainer">依賴注入容器</param>
        public MyDependencyResolver( UnityContainer aUnityContainer )
        {
            _unityContainer 
= aUnityContainer;
        }

        
public object GetService( Type aServiceType )
        {
            
try
            {
                
return _unityContainer.Resolve( aServiceType );
            }
            
catch
            {
                
/// 按微軟的要求,此方法,在沒有解析到任何對象的情況下,必須返回 null,必須這么做!!!!
                return null;
            }
        }

        
public IEnumerable<object> GetServices( Type aServiceType )
        {
            
try
            {
                
return _unityContainer.ResolveAll( aServiceType );
            }
            
catch
            {
                
/// 按微軟的要求,此方法,在沒有解析到任何對象的情況下,必須返回空集合,必須這么做!!!!
                return new List<object>( );
            }
        }

        
#endregion
    }

}

NET技術ASP.NET MVC3 讓依賴注入來的更簡單(新補充了Ninject示例),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 淮阳县| 吉水县| 潮州市| 武清区| 裕民县| 凭祥市| 万山特区| 凤山市| 青铜峡市| 溧阳市| 沂源县| 青田县| 井冈山市| 甘德县| 扎囊县| 太湖县| 宿州市| 巨野县| 弥渡县| 清涧县| 弥渡县| 兴宁市| 建水县| 察隅县| 宜兰市| 青神县| 武冈市| 汶上县| 黄骅市| 运城市| 华池县| 栾川县| 夏河县| 尉氏县| 会泽县| 格尔木市| 偏关县| 德化县| 炉霍县| 东莞市| 桑日县|