.Net中處理程序映射-訪問路徑虛擬化,不知道從哪里翻出來了這個(gè)好多年前的DEMO,意思就是將Index.cs虛擬化成一個(gè)可訪問到的html頁面
特別是在接口開發(fā)設(shè)計(jì)中,可以從一定程度上隱藏頁面的真實(shí)路徑,實(shí)際上在.Net中,一個(gè).cs后綴的文件屬于一個(gè)類文件,不能直接用于外部訪問,
如果非要直接訪問某個(gè).cs類文件的話,只能通過處理映射關(guān)系來處理了,相當(dāng)于給此文件起一個(gè)可供直接訪問的別名。
第一步:添加一個(gè)類庫項(xiàng)目ProHttpHandler,在此項(xiàng)目下創(chuàng)建一個(gè)Pub/Index.cs類文件
using System; using System.Web; namespace ProHttpHandler.Pub { /// <summary> /// 處理程序映射 /// 作者:hnxxbl.cn /// </summary> public class Index : IHttpHandler { /// <summary> /// 您將需要在您網(wǎng)站的 web.config 文件中配置此處理程序, /// 并向 IIS 注冊(cè)此處理程序,然后才能進(jìn)行使用。有關(guān)詳細(xì)信息, /// 請(qǐng)參見下面的鏈接: http://go.microsoft.com/?linkid=8101007 /// </summary> #region IHttpHandler Members public bool IsReusable { // 如果無法為其他請(qǐng)求重用托管處理程序,則返回 false。 // 如果按請(qǐng)求保留某些狀態(tài)信息,則通常這將為 false。 get { return true; } } public void ProcessRequest(HttpContext context) { //在此寫入您的處理程序?qū)崿F(xiàn)。 context.Response.Write("Hello, World 處理程序映射"); } #endregion } }
第二步,添加一個(gè)名為ProMapping的Web項(xiàng)目,在此項(xiàng)目下,添加一個(gè)Pub目錄,在Pub目錄下隨便新建一個(gè)html頁面:Pub/xxxxxx.html
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!--作者:hnxxbl.cn--> 打開瀏覽器后,把瀏覽器地址頁面"HTMLPage1.html"換成index.html 打開試試 </body> </html>
第三步,在步驟二里提到的ProMapping項(xiàng)目中,Pub目錄下,新建一個(gè)Pub/Web.config文件,按如下完成配置(具體參數(shù)可自行修改)
以下配置相當(dāng)于映射了一個(gè)index.html的地址,去訪問ProHttpHandler項(xiàng)目中的Pub/Index.cs類文件
<?xml version="1.0"?> <configuration> <!--IIS經(jīng)典模式下使用作者:hnxxbl.cn--> <system.web> <httpHandlers> <add path="index.html" verb="*" type="ProHttpHandler.Pub.Index"/> </httpHandlers> </system.web> <!--<system.webServer> --> <!--IIS集成模式下使用--> <!-- <handlers> <add name="Pub" path="index.html" verb="*" type="ProHttpHandler.Pub.Index"/> </handlers> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>--> </configuration>
第四步,完成以上三步設(shè)置后,即可運(yùn)行ProMapping即Web項(xiàng)目下剛剛新建的Pub/xxxxxx.html文件
運(yùn)行到這里只是啟動(dòng)了項(xiàng)目,可以試試在Config中設(shè)置的那個(gè)index.html,瀏覽器地址欄的地址直接改成index.html試試看
頁面輸出的Hello, World 處理程序映射,即是那個(gè)Index.cs文件中輸出的內(nèi)容。是不是很簡(jiǎn)單,接口項(xiàng)目建議使用此虛擬化路徑。
如有不明白的可下載此附件源碼仔細(xì)研究。
處理程序映射項(xiàng)目-訪問地址虛擬化Demo源碼下載
原文鏈接:.Net中處理程序映射-訪問路徑虛擬化