您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何分析ASP.NET應用程序的web.config文件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
ASP.NET不是asp的簡單升級,而是微軟。Net計劃中的一個重要組成部分,它依托。Net的多語言與強大的類庫支持,引進了服務端 HTML控件與WEB控件,自動處理控件的客戶端與服務端的 交互,為開發人員提供了類似Windows下窗口編程的界面,為開發大型網絡應用程序功能提 供了良好的編程接口,也能夠極大地提高開發人員的工作效率。
然而,"一次轉換,兩次編譯"過程使得aspx文件在***執行(或更新后***運行)時顯得略有不足,特別是在擁有大量aspx及codebehind的代碼文件的應用環境中,把aspx文件編譯成DLL(在。Net中,被稱為應用程序集)后再發布,省去"一次轉換、一次編譯"的時間及CPU占用率,對提高WEB服務的整體性能會有較大的提升。當然,編譯成DLL后,對源代碼的保密性也有一定程度的提高。
本文通過對ASP.NET的基本處理流程及一個偶然發現的秘密的分析,介紹了在ASP.NET中 如何建立aspx到DLL的映射,如何開發一個可以處理HTTP請求/響應的DLL,以及如何設置"陷阱",把現成的單個aspx文件與 codebehind的aspx文件編譯成DLL的過程,文章***,還介紹了一個在實際操作過程的小技巧。
由于要涉及ASP.NET應用程序,web.config文件等,為了使讀者能更好地理解內容,也為了看上去不顯累贅,先相對應的系統環境作一介紹:
系統環境:Win2000(SP3)+ IIS5 + .Net Framework 1.0(中文版)。
服務器名稱:由于本文的例子均在本機上測試,服務器名稱為localhost.
IIS設置:建立虛擬目錄dlltest(真實路徑為w:\wwwroot\dlltest),并把它設為應用程序,在dlltest下建立bin目錄。所有源文件將放在dlltest目錄下,而所有dll文件將放在dlltest\bin目錄下。
ASP.NET應用程序配置文件——web.config在dlltest目錄下建立一個web.config文件,初始時該文件內容如下:
<?xml version="1.0"?> <configuration> <system.web /> </configuration>
命令窗口(DOS窗口)
打開命令窗口,并用cd命令使當前目錄為w:\wwwroot\dlltest.
建立aspx到dll的映射
首先讓我們來看看一般情況下aspx文件是如何被ASP.NET處理的:
當一個HTTP請求(例如"http://webserver/webapp/webpage.aspx") 從客戶端發送到IIS服務器時,IIS捕獲并分析這個請求,
◆當它分析到這個請求是一個aspx頁面時,立即以 "/webapp/webpage.aspx"為參數調用ASP.NET運行環境(aspnet_wp.exe),
◆ASP.NET環境啟動后,檢查 "/webapp/webpage.aspx"是否存在,若不存在,則向客戶端返回HTTP 404(File not found)錯誤,
◆否則在 ASP.NET 的臨時目錄中查找相應的dll文件,若不存在或者該dll比aspx源文件"舊",則調用csc編譯器(若aspx的服務端腳本語言是 VB或JScript,則調用相應的vbc編譯器, jsc編譯器)把aspx文件編譯成dll,
◆然后ASP.NET再調用該dll來處理具體的客戶請 求,返回服務器響應。
從這個處理流程可以看出,一般情況下,ASP.NET運行環境會自動識別、檢查、更新與aspx相對應的 dll.那么有沒有其它辦法可以強制把對一個aspx文件的處理"路由"到一個已編譯存在的DLL呢?方法就是在ASP.NET應用程序配置文件 web.config的system.web節的httpHandlers節添加aspx到dll的映射項,語法如下:
<add verb="*" path="aspx文件名" type="類名,dll文件" />
aspx文件:需要被"路由"的虛擬名稱,擴展名必須是aspx,否則IIS會先于ASP.NET運行環境處理該文件。
dll文件: dll文件(應用程序集)的名稱,不必輸入".dll".ASP.NET 首先在應用程序的專用 \bin 目錄中搜索程序集 DLL,然后在系統程序集緩存中搜索程序集 DLL.
類名: 由于一個dll可能會有多個名稱空間或多個類,因此必須指明當dll調用時自動加載哪個類。
例如,某一ASP.NET應用程序的web.config文件如下:
<?xml version="1.0"?> <configuration> <system.web> <httpHandlers> <add verb="*" path="index.aspx" type="BBS.IndexPage, bbs" /> </httpHandlers> </system.web> </configuration>
該配置文件告訴ASP.NET,在客戶端請求本應用程序的index.aspx文件時,直接調用應用程序bin目錄下的bbs.dll,并自動加載其中的BBS.IndexPage類。
以上就是如何分析ASP.NET應用程序的web.config文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。