日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(译)Windsor入门教程---第三部分 编写第一个Installer

發布時間:2023/12/4 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (译)Windsor入门教程---第三部分 编写第一个Installer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:http://docs.castleproject.org/Windsor.Windsor-tutorial-ASP-NET-MVC-3-application-To-be-Seen.ashx

簡介

????在第二部分我們創建了控制器工廠。現在我們要把我們的控制器交給Windsor來管理。

Installer

????Windsor有一個專門的類installer.cs,用來向容器注冊組件。在你的應用程序中至少會有幾個這樣的installer類,所以要保持他們的代碼整潔以及可見性。接下來在我們的應用程序中新建一個專門的文件夾"Installer"來存放這些類。我們首先要注冊到容器中的就是控制器,所以我們先來新建一個ControllersInstaller.cs類。

Controller installer

????Installer類需要為Windsor解決兩個問題:怎么在應用程序中找到控制器和怎么配置控制器。

????第一點,怎樣找到控制器?很簡單,在ASP.NET MVC中,控制器都是要實現Icontroller接口的。

????配置起來很簡單,首先,mvc框架要求我們為每一次的請求都創建一個新的控制器實例。而Windsor默認是只有在第一次請求的時候創建實例的。相應的installer類:

這個類重寫了IwindsorInstaller的Install方法,通過Windsor的Fluent Registration API注冊了控制器。這是我們推薦使用的,也是最簡潔、最靈活的方法。每當我們在應用程序中新增加Controller(大的應用里可能會有幾百個)的時候,Windsor會自動注冊它們,我們不需要手動做任何事情,我們只要遵循Windsor的約定即可。

????繼續看代碼,靜態類Classes是進行注冊的入口點,首先調用public類型的非抽象方法FromThisAssembly(),這是一個包含注冊器的組件(mvc的組件,存在于控制器的生命周期中)。但是我們并不需要注冊所有的組件,所以BasedOn<IContorller>過濾器要求類必須實現Icontroller接口,雖然叫BasedOn,但是它同樣的也是一個泛型接口。最后是非常重要的一點----instance lifestyle。mvc希望的是使用過后即銷毀,但每次Windsor需要的時候要有一個新的實例,而且通知Windsor在什么時候不需要實例,可以回收實例了是調用者的職責所在(這也是為什么我們在WindsorControllerFactory類里重寫了ReleaseController方法)。

????現在我們已經在Windsor注冊了控制器的工作機制,并且有了控制器工廠來將控制器管理從Windsor卸載。在第四部分,我們將把這些組裝在一起運行----一個由Windsor支撐的應用。但是在此之前,有一點是必須關注的,那就是測試。

轉載于:https://www.cnblogs.com/xuquantong/p/3756250.html

總結

以上是生活随笔為你收集整理的(译)Windsor入门教程---第三部分 编写第一个Installer的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。