Asp.net mvc 整合Autofac和FluentValidation

來源:互聯網
上載者:User

PS:關於更多DevText的文章請到這裡查看:

http://www.n-pei.com/blog/devtext_widget_Create

http://www.n-pei.com/blog/devtextdesign3

http://www.n-pei.com/blog/tools-introduce

等等。。。。。。

昨天大家很多人抱怨沒有用過AutoFac,所以今天我就在把CR部署上線後,給大家說明下如何在asp.net mvc中整合Autofac這個IoC工具。並順帶著說明下在DevText中使用的FluentValidation。。。。

1.建立一個Asp.net Mvc應用程式:

 

2.添加autofac引用

如果你安裝了NuGet,這裡你就不需要從autofac官網下載產生的dll包,而直接用vs2010自動擷取。

這裡說明下如何使用NuGet來自動添加autofac的引用。

再次羅嗦下,呵呵,list-package是列出所有nuget已經打包好的package。你可以在中看到autofac.

接下來是使用install-package來自動添加引用。

因為我們使用的是NuGet自動添加dll所以原來需要手動設定Web.Config。在httpModule中添加如下配置:

 

3.配置Gobal.asax檔案

首先需要需要讓這個類繼承IContainerProviderAccessor介面,並聲明一個IContainerProver作為應用程式的容器。

 

第二步是在Application_Start方法中註冊Controller和一些model,以及modelBinder等,並使用Autofac中的自訂ControllerFactory。

以上就完成了Autofac的asp.net mvc整合。

接下來結合Autofac以及FluentValidation來給大家說明下FluentValidation如何工作。

我們使用介面IPerson和類Person來說明。

在Global.asax中register Person。

Validation部分:

先添加引用:

Validation的代碼風格:

最後是Controller部分和VIew部分:

在Controller中注意,因為我們使用的是Autofac的ControllerFactory,所以預設Controller的Construcotr是可以有n個參數的,而不是不允許有參數。

View部分代碼:

最後是別忘了在Global.asax中註冊我們的Validation Provider。

 

搞定,直接按F5運行試試:

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.