很多同學都讀過這篇文章吧 ASP.NET MVC中你必須知道的13個擴展點,今天給大家介紹一個ASP.NET MVC的擴展庫,主要就是針對這些擴展點進行。這個項目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。如果你和我一樣喜歡使用 ...
很多同學都讀過這篇文章吧 ASP.NET MVC中你必須知道的13個擴展點,今天給大家介紹一個ASP.NET MVC的擴展庫,主要就是針對這些擴展點進行。這個項目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。如果你和我一樣喜歡使用IOC,這個庫值得你關註。
ASP.NET MVC擴展庫的網站地址是http://mvcextensions.github.io/,基於Ms-PL協議的開源庫,下麵介紹一下他的特性:
- 這個庫的核心是IOC,卻可以讓你的代碼和IOC無關,你的代碼卻可以使用強大的IOC。
- 多個IOC庫的適配器:所有.NET上流行的IOC容器都有適配器。
- Bootstrapping:不用在各個項目中寫類似的代碼來處理你的Controller/Controller Factory/Model Binders/View Engines/Action Filters/Custom Dependencies的註冊。
- PerRequestTask:類似於HttpModule處理自定義的業務邏輯,還可以控制執行的順序。
- Model Binder:通過構造函數註入你的Model Binder的自定義的依賴。
- Action Filter Fluent Registration:支持構造函數方式註入你的Action Filter。
- ModelMetadata Fluent Configuration:支持複合ModelMetadata provider, 預設使用DataAnnotationsModelMetadataProvider,還支持EF Code First 和 Fluent NHibernate.
- 各種ActionResults:包含通用的ActionResults,其中包括XmlResult,ExtendedJsonResult(支持JsonConverters),Adaptive PRG (PostRedirectGet) results。
- 各種通用的Route 變數:包括Range、Positive Int/Long、 Guid、 Enum,、RegEx等等。
- 各種其他的實用方法和助手類。
這個庫的實際應用的例子可以看這個項目Shrinkr和KiGG
參考鏈接:http://www.cnblogs.com/shanyou/archive/2010/05/15/1736463.html
https://archive.codeplex.com/?p=mvcextensions