自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET應用程序的web.config文件

開發(fā) 后端
本文介紹ASP.NET應用程序的web.config文件,以及介紹了在ASP.NET中 如何建立aspx到DLL的映射,如何開發(fā)一個可以處理HTTP請求/響應的DLL。

ASP.NET不是asp的簡單升級,而是微軟。Net計劃中的一個重要組成部分,它依托。Net的多語言與強大的類庫支持,引進了服務端 HTML控件與WEB控件,自動處理控件的客戶端與服務端的 交互,為開發(fā)人員提供了類似Windows下窗口編程的界面,為開發(fā)大型網(wǎng)絡應用程序功能提 供了良好的編程接口,也能夠極大地提高開發(fā)人員的工作效率。

然而,"一次轉(zhuǎn)換,兩次編譯"過程使得aspx文件在***執(zhí)行(或更新后***運行)時顯得略有不足,特別是在擁有大量aspx及codebehind的代碼文件的應用環(huán)境中,把aspx文件編譯成DLL(在。Net中,被稱為應用程序集)后再發(fā)布,省去"一次轉(zhuǎn)換、一次編譯"的時間及CPU占用率,對提高WEB服務的整體性能會有較大的提升。當然,編譯成DLL后,對源代碼的保密性也有一定程度的提高。

本文通過對ASP.NET的基本處理流程及一個偶然發(fā)現(xiàn)的秘密的分析,介紹了在ASP.NET中 如何建立aspx到DLL的映射,如何開發(fā)一個可以處理HTTP請求/響應的DLL,以及如何設置"陷阱",把現(xiàn)成的單個aspx文件與 codebehind的aspx文件編譯成DLL的過程,文章***,還介紹了一個在實際操作過程的小技巧。

由于本文要涉及ASP.NET應用程序,web.config文件等,為了使讀者能更好地理解本文內(nèi)容,也為了使本文看上去不顯累贅,先就本文相對應的系統(tǒng)環(huán)境作一介紹:

系統(tǒng)環(huán)境: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文件,初始時該文件內(nèi)容如下:

  1. <?xml version="1.0"?> 
  2. <configuration> 
  3. <system.web /> 
  4. </configuration> 
  5.  

命令窗口(DOS窗口)

打開命令窗口,并用cd命令使當前目錄為w:\wwwroot\dlltest.

建立aspx到dll的映射

首先讓我們來看看一般情況下aspx文件是如何被ASP.NET處理的:

當一個HTTP請求(例如"http://webserver/webapp/webpage.aspx") 從客戶端發(fā)送到IIS服務器時,IIS捕獲并分析這個請求,
◆當它分析到這個請求是一個aspx頁面時,立即以 "/webapp/webpage.aspx"為參數(shù)調(diào)用ASP.NET運行環(huán)境(aspnet_wp.exe),
◆ASP.NET環(huán)境啟動后,檢查 "/webapp/webpage.aspx"是否存在,若不存在,則向客戶端返回HTTP 404(File not found)錯誤,
◆否則在 ASP.NET 的臨時目錄中查找相應的dll文件,若不存在或者該dll比aspx源文件"舊",則調(diào)用csc編譯器(若aspx的服務端腳本語言是 VB或JScript,則調(diào)用相應的vbc編譯器, jsc編譯器)把aspx文件編譯成dll,
◆然后ASP.NET再調(diào)用該dll來處理具體的客戶請 求,返回服務器響應。

從這個處理流程可以看出,一般情況下,ASP.NET運行環(huán)境會自動識別、檢查、更新與aspx相對應的 dll.那么有沒有其它辦法可以強制把對一個aspx文件的處理"路由"到一個已編譯存在的DLL呢?方法就是在ASP.NET應用程序配置文件 web.config的system.web節(jié)的httpHandlers節(jié)添加aspx到dll的映射項,語法如下:

  1. <add verb="*" path="aspx文件名" type="類名,dll文件" /> 


aspx文件:需要被"路由"的虛擬名稱,擴展名必須是aspx,否則IIS會先于ASP.NET運行環(huán)境處理該文件。

dll文件: dll文件(應用程序集)的名稱,不必輸入".dll".ASP.NET 首先在應用程序的專用 \bin 目錄中搜索程序集 DLL,然后在系統(tǒng)程序集緩存中搜索程序集 DLL.

類名: 由于一個dll可能會有多個名稱空間或多個類,因此必須指明當dll調(diào)用時自動加載哪個類。

例如,某一ASP.NET應用程序的web.config文件如下:

  1. <?xml version="1.0"?> 
  2. <configuration> 
  3. <system.web> 
  4. <httpHandlers> 
  5. <add verb="*" path="index.aspx" type="BBS.IndexPage, bbs" /> 
  6. </httpHandlers> 
  7. </system.web> 
  8. </configuration> 

該配置文件告訴ASP.NET,在客戶端請求本應用程序的index.aspx文件時,直接調(diào)用應用程序bin目錄下的bbs.dll,并自動加載其中的BBS.IndexPage類。

責任編輯:佚名 來源: IT168
相關推薦

2009-07-27 13:43:11

Web.config文ASP.NET

2009-08-05 14:11:56

ASP.NET Web

2009-07-29 14:23:08

ASP.NET配置文件

2011-04-19 14:35:58

ASP.NETWeb.config

2009-07-29 10:30:53

Web應用程序ASP.NET

2009-07-21 15:23:55

預編譯Web應用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web

2009-07-24 11:25:53

Web應用程序工程ASP.NET MVC

2009-08-04 15:13:19

machine.conASP.NET 應用程

2009-08-04 11:46:09

2009-07-20 16:08:04

ASP.NET應用程序

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應用

2009-07-22 17:32:40

ASP.NET應用程序

2009-07-23 13:26:21

2009-07-21 15:02:19

ASP.NET應用程序

2009-07-29 17:21:10

2009-07-28 17:49:44

ASP.NET數(shù)據(jù)庫連

2009-07-23 14:25:03

ASP.NET 2.0
點贊
收藏

51CTO技術棧公眾號