Apache支持ASP.NET 2.0的法寶:mod_aspdotnet
ASP.NET 2.0是***一代的Web應用開發(fā)平臺,作為.NET Framework的一部分,它功能強大、性能高且易于開發(fā)。作為微軟的產品,用于搭建ASP.NET***的Web服務器當然是IIS(IIS和Apache的比較)。然而,如果一臺Windows機器已經裝了Apache并已經有了Web應用,就無法再開啟IIS(在同一個端口下)。還好我們在Apache httpd下也能對ASP.NET進行支持。
致力于.NET跨平臺的***的開源項目Mono便提供了一個Apache下的插件Mod_mono來對ASP.NET進行支持。然而Mod_mono主要是針對Unix/Linux平臺的。雖然有提供Windows下的版本,但畫蛇添足的是它基于Mono而不是Windows現(xiàn)成的.NET Framework,而且更新不及時,不能對ASP.NET 2.0進行很好的支持。
也有人制作了獨立的Web服務器來支持ASP.NET,但仍然不能滿足我們直接使用現(xiàn)有Apache支持ASP.NET的需求。
事實上,Apache官方早就提供了ASP.NET解決方案,就是mod_aspdotnet模塊。但此插件一年半以前就停止開發(fā)了,不知道是給Mono讓道還是擔心ASP.NET發(fā)展太快。不過我們仍然可以從Apache的模塊存檔庫里下載到它。
mod_aspdotnet比mod_mono精巧多了,安裝程序才300多K,只要系統(tǒng)里安裝了.NET Framework,便能***支持ASP.NET,甚至2.0。
Apache支持ASP.NET的具體實施相當簡單,步驟如下:
1. 下載安裝***的Apache HTTP Server(這里給出的是2.2.3的鏈接)并進行基本配置(已開啟Apache服務的略過此步)。
2. 下載安裝mod_aspdotnet模塊。
3. 修改配置文件(通常位于C:\Program Files\Apache Group\Apache2\conf\httpd.conf),添加如下數(shù)行:
- #asp.net
- LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
- AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
- AspNetMount /SampleASP "c:/SampleASP"
- Alias /SampleASP "c:/SampleASP"
- #/SampleASP是用于執(zhí)行asp.net的目錄的別名,c:/SampleASP是它的實際地址
- # 打開腳本運行權限
- < Directory "c:/SampleASP">
- Options FollowSymlinks ExecCGI
- Order allow,deny
- Allow from all
- DirectoryIndex index.htm index.aspx
- #設置默認文件
- < /Directory>
- # 對于ASP.NET虛擬頁面,需要如下aspnet_client文件來支持客戶端幫助腳本
- AliasMatch /aspnet_client/system_web/(\d+)(\d+)(\d+)(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
- < Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
- Options FollowSymlinks
- Order allow,deny
- Allow from all
- < /Directory>
- #asp.net
4. 在C:/SampleASP下創(chuàng)建ASP.NET站點(建立index.aspx文件)
5. 重啟Apache服務器。
6. 搞定,可以用http://localhost/SampleASP/index.aspx查看Apache支持ASP.NET的效果了。
【編輯推薦】