婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法小結(jié)

ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法小結(jié)

熱門標(biāo)簽:電銷語音機(jī)器人型號參數(shù) 百度地圖怎樣做地圖標(biāo)注 浦發(fā)電話機(jī)器人提醒還款 柳州電銷機(jī)器人公司 太原400電話上門辦理 400電話如何申請取消 騰訊地圖標(biāo)注手機(jī) 征途美甲店地圖標(biāo)注 昆明語音電銷機(jī)器人價(jià)格

本文實(shí)例總結(jié)了ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法,分享給大家供大家參考之用。具體方法如下:

方法一:利用Httphandler實(shí)現(xiàn)URL重寫(偽URL及偽靜態(tài))

我們有時(shí)候會(huì)見到這樣的地址:“http://www.XXXX.com/show-12-34.html”,你或許認(rèn)為在站點(diǎn)服務(wù)器根目錄“/”下存在名為“show-12-34.html”的文件,其實(shí)實(shí)際它可能是不存在的,而可能你看到的內(nèi)容是“/aspx/show.aspx?type= 12id=34”的內(nèi)容,為什么要這樣做呢?原因有多個(gè)方面:首先是增強(qiáng)URL的友好性,記“show-12-34.html”總比 “/aspx/show.aspx?type=12id=34”好記吧?其次就是方便搜索引擎收錄,很多搜索引擎更看好靜態(tài)HTML頁,比如:百度;其次就是出于安全性的考慮,因?yàn)檫@樣隱藏了參數(shù)“type”、“id”。是不是很有意思呢?

其實(shí)這是利用URL重寫實(shí)現(xiàn)的,下面我就說一下在ASP.NET2.0下我所知道的最簡單的實(shí)現(xiàn)方法:通過實(shí)現(xiàn)接口“IHttpHandler”來接管HTTP請求,F(xiàn)ollow me!

1.在資源管理方案中添加一個(gè)類,類的代碼如下:

//類URLRewriter程序清單: 
using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
/// summary> 
/// UrlRewriter URL重寫類 
 /// Author:yoyo 
/// /summary> 
public class UrlRewriter : IHttpHandler //實(shí)現(xiàn)“IHttpHandler”接口 
{ 
 public UrlRewriter() 
{ 
// 
// TODO: 在此處添加構(gòu)造函數(shù)邏輯 
 // 
} 
public void ProcessRequest(HttpContext Context) 
{ 
try 
{ 
//取得原始URL屏蔽掉參數(shù) 
string Url = Context.Request.RawUrl; 
//建立正則表達(dá)式 
  System.Text.RegularExpressions.Regex Reg = new System.Text.RegularExpressions.Regex 
  (@"/show-(\d+)-(\d+)\..+",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
//用正則表達(dá)式進(jìn)行匹配 
System.Text.RegularExpressions.Match m = Reg.Match(Url,Url.LastIndexOf("/"));//從最后一個(gè)“/”開始匹配 
if (m.Success)//匹配成功 
{ 
String RealPath = @"~/aspx/show.aspx?type=" + m.Groups[1] + "id=" + m.Groups[2]; 
//Context.Response.Write(RealPath); 
//Context.RewritePath(RealPath);//(RewritePath 用在無 Cookie 會(huì)話狀態(tài)中。) 
Context.Server.Execute(RealPath); 
} 
else  
{ 
Context.Response.Redirect(Context.Request.Url.ToString()); 
} 
} 
catch 
{ 
Context.Response.Redirect(Context.Request.Url.ToString()); 
} 
} 
/// summary> 
/// 實(shí)現(xiàn)“IHttpHandler”接口所必須的成員 
/// /summary> 
/// value>/value> 
/// Author:yoyo 
public bool IsReusable 
{ 
get { return false; } 
}
}

2.在web.config文件還要添加以下設(shè)置項(xiàng)

在system.web>節(jié)點(diǎn)下添加如下代碼:

httpHandlers> 
add verb="*" path="*/show-?*-?*.aspx" type="UrlRewriter" /> 
/httpHandlers>

解釋一下:

verb是指允許的動(dòng)作“GET”、“POST”、“PUT”中的一種或幾種,星號“*”表示全部允許;

path是指匹配路徑,支持簡單的通配符;

type是指綁定的類名以及包括命名空間(如果有的話);

對了,首先你要建立一個(gè)WEB窗體“show.aspx”在目錄“aspx”下,因?yàn)檫@個(gè)文件就是實(shí)際接受請求并顯示相關(guān)內(nèi)容的頁面。

OK!,編譯,打開網(wǎng)站輸入地址http://localhost:80/show-12-34.aspx 訪問一下,檢查看是不是顯示的“/aspx/show.aspx?type=12id=34”的內(nèi)容呢?!

上面我是設(shè)置了匹配ASPX文件,因?yàn)镮IS里.HTML擴(kuò)展名默認(rèn)是不歸ASP.NET接管的,如果要接管HTML請求,
請將IIS的擴(kuò)展名.HTML映射到“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,
然后將上面的aspx改成html:

httpHandlers> 
add verb="*" path="*/show-?*-?*.html" type="UrlRewriter" /> 
/httpHandlers>

現(xiàn)在打開網(wǎng)站輸入地址http://localhost:80/show-12-34.html 訪問一下~!

方法二:地址重寫、使用偽靜態(tài)、頁面回發(fā)處理

制作網(wǎng)站頁面的時(shí)候,有時(shí)候?yàn)榱擞脩舻捏w驗(yàn)和搜索引擎的收錄,很多網(wǎng)站經(jīng)常使用偽靜態(tài)地址重寫,或者稱為 URL地址重寫的辦法,來將諸如:MyEbook.aspx?ID=1,MyEbook.aspx?ID=2MyEbook.aspx?ID=3等帶有參 數(shù)的動(dòng)態(tài)頁面?zhèn)窝b成為一個(gè)靜態(tài)頁面,比如,將以上的偽裝成為My1.html,My2.html,My3.html等等諸如此類!

出發(fā)點(diǎn)是很好的,不僅有利于用戶體驗(yàn),也有利于收錄,實(shí)在是一舉兩得!

好處已講,現(xiàn)在來談?wù)勈褂眠@種辦法所存在的毛病,問題就在于,當(dāng)你使用偽靜態(tài)技術(shù)的頁面有按鈕,需要提交內(nèi)容時(shí),這個(gè)時(shí)候,一旦與服務(wù)器之間有回發(fā)動(dòng)作, 那么,地址欄里面顯示的網(wǎng)頁地址就不再是偽裝出來的My1.html,My2.html,My3.html等等拉,而是變?yōu)镸yEbook.aspx? ID=1,MyEbook.aspx?ID=2MyEbook.aspx?ID=3等等洛,如此一來,會(huì)讓不太懂網(wǎng)頁制作的網(wǎng)友感到不安,他們會(huì)認(rèn)為自己 在上一個(gè)騙子網(wǎng)站,認(rèn)為自己提交的數(shù)據(jù)都被另外一個(gè)網(wǎng)站給偷走了,總之,給他們的感覺就是,這樣的網(wǎng)站具有欺騙性質(zhì);很可能,以后他們再也不敢上你的網(wǎng)站 了!!!………

下面本人就個(gè)人解決如上問題的心得體會(huì)做如下說明,希望能夠幫助廣大網(wǎng)友解決問題!

解決如上問題,有很多種辦法,有使用Javascript禁止回發(fā),有將頁面的

改為等等多種方法,反正能改的地方,都有人使用過了,并且,這樣的文章比較多,但是難以實(shí)現(xiàn),就本人脾氣而已,更喜歡直接了當(dāng)?shù)霓k法,盡量少改地方,免得日后出錯(cuò)麻煩;

第一步:打開你的網(wǎng)站下面,新建一個(gè)類,文件名稱大體如此:MyActionlessform.cs

第二步:該類的代碼如下:

using System; 
using System.IO; 
using System.Web; 
using System.Web.UI; 
namespace MyURL 
{ 
  public class MyOLPage : Page 
  { 
    public MyOLPage() 
    { } 
    protected override void Render(HtmlTextWriter writer) 
    { 
      if (writer is System.Web.UI.Html32TextWriter) 
      { 
        writer = new FormFixerHtml32TextWriter(writer.InnerWriter); 
      } 
      else 
      { 
        writer = new FormFixerHtmlTextWriter(writer.InnerWriter); 
      } 
      base.Render(writer); 
    } 
  } 
 
  internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter 
  { 
    private string _url; // 偽裝的URL 
    internal FormFixerHtml32TextWriter(TextWriter writer) 
      : base(writer) 
    { 
      _url = HttpContext.Current.Request.RawUrl; 
    } 
    public override void WriteAttribute(string name, string value, bool encode) 
    { 
      if (_url != null  string.Compare(name, "action", true) == 0) 
      { 
        value = _url; 
      } 
      base.WriteAttribute(name, value, encode); 
    } 
  } 
  internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter 
  { 
    private string _url; 
    internal FormFixerHtmlTextWriter(TextWriter writer) 
      : base(writer) 
    { 
      _url = HttpContext.Current.Request.RawUrl; 
    } 
    public override void WriteAttribute(string name, string value, bool encode) 
    { 
      if (_url != null  string.Compare(name, "action", true) == 0) 
      { 
        value = _url; 
      } 
      base.WriteAttribute(name, value, encode); 
    } 
  } 
} 

之后,將這個(gè)類文件編譯成為MyActionlessform.dll文件,并在網(wǎng)站的項(xiàng)目中引用他,

第三步:打開具有回發(fā)操作的頁面,將其中的:System.Web.UI.Page更改為: MyURL.MyOLPage,如此而已,一勞永逸了,以后不再擔(dān)心回發(fā)暴露真實(shí)地址嚇走網(wǎng)友拉!

至此,大功可成一半多一點(diǎn),接下來問題又來了,什么問題呢,你運(yùn)行一下你的網(wǎng)站,是不是出現(xiàn)如下錯(cuò)誤呀!

CS0433: 類型“MyURL.MyOLPage”同時(shí)存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ Temporary ASP.NET Files\schoolit\3266aab1\aca2fc74\App_Code.2-69spm5.dll”和“c:\WINDOWS\ Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\schoolit\3266aab1\aca2fc74\assembly\dl3\4d107fc6\00b753fe_ea19c801\ MyActionlessform.DLL”中

大體就是這樣的錯(cuò)誤了,針對這樣的錯(cuò)誤,有很多解決辦法,有的地方說,刪除臨時(shí)使用的文件夾,刪除某個(gè)命名 空間等等操作,俺都試過了,但是百試不得其果,后來俺就自己想想,出現(xiàn)這樣的錯(cuò)誤無非就是兩個(gè)文件同時(shí)存在,但是又不能重復(fù)使用,解決辦法那還不簡單,停 用一個(gè),只使用一個(gè)就行了嘛

上面的,我們不是建立了一個(gè)MyActionlessform.cs了嗎,它存在App_Code這個(gè)文件夾里面,另外一個(gè)是 MyActionlessform.dll,兩個(gè)文件內(nèi)容完全一樣,做好了,我們就不需要MyActionlessform.cs了,我們只需要 MyActionlessform.dll,那么,想方設(shè)法將前者弄走不就得了(本人建議將此文件排除項(xiàng)目,不提倡直接刪除該文件,因?yàn)橐院罂赡苁褂?到),本人做法是,在項(xiàng)目中直接排出MyActionlessform.cs文件,經(jīng)過測試,大功至此已結(jié)束!!!!

方法三:利用Mircosoft URLRewriter.dll實(shí)現(xiàn)頁面?zhèn)戊o態(tài)

昨天,轉(zhuǎn)貼了一篇利用ISAPI篩選器來實(shí)現(xiàn)URL偽靜態(tài)的文章,我按照文章上的內(nèi)容做,可是沒有做出來,目前看來,該方法沒有使用Microsoft URLRewriter.dll這個(gè)方法好,至少我個(gè)人覺得,花了一個(gè)晚上的時(shí)間,終于研究出來了怎么利用這個(gè)dll文件來對asp.net頁面實(shí)現(xiàn)靜態(tài) 化了,其實(shí)很簡單。
一、獲得Mircosoft URLRewriter.dll
獲得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true
這里,選擇[下載本文的源代碼],下載完畢后,導(dǎo)入工程,我這里沒有對該工程做任何修改,保留了原來的重寫方式,然后直接在VS2005里面生成.dll文件就可以了。
二、使用該dll文件

添加引用,搞定。

三、頁面方面的設(shè)計(jì),這里不在贅述了,我會(huì)放一個(gè)下載包,有興趣的朋友下載來看看吧,代碼寫的比較亂。

四、web.config的配置
這部是非常關(guān)鍵的,也是靜態(tài)化能否成功的關(guān)鍵。

?xml version="1.0"?> 
configuration> 
 configSections> 
  section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> 
 /configSections> 
 
 RewriterConfig> 
    Rules> 
      RewriterRule> 
        LookFor>~/web/new/type/(.[0-9]*)\.html/LookFor> 
    SendTo>~/web/new.aspx?id=$1/SendTo> 
      /RewriterRule> 
   RewriterRule> 
    LookFor>~/web/index.html/LookFor> 
    SendTo>~/web/index.aspx/SendTo> 
   /RewriterRule> 
    /Rules> 
  /RewriterConfig> 
  system.web> 
  httpHandlers> 
   add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> 
   add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> 
  /httpHandlers> 
    compilation debug="true"/>/system.web> 
/configuration> 

這里簡單介紹一下:

RewriterConfig> 
  Rules> 
  RewriterRule> 
   LookFor>要查找的模式/LookFor> 
   SendTo>要用來替換模式的字符串/SendTo> 
  /RewriterRule> 
  RewriterRule> 
   LookFor>要查找的模式/LookFor> 
   SendTo>要用來替換模式的字符串/SendTo> 
  /RewriterRule> 
  /Rules> 
/RewriterConfig> 

httpHandlers的設(shè)置主要是配合IIS將請求重新定義處理,這里也比較關(guān)鍵,如果不存在合理的httpHandlers,那么,訪問肯定會(huì)失敗的。

關(guān)于正則表達(dá)式,可以到百度里搜索:"常用正則表達(dá)式",會(huì)有很多。

五.配置IIS解析.html文件

右鍵點(diǎn)我的電腦-->管理-->展開'服務(wù)和應(yīng)用程序'-->internet信息服務(wù)-->找到你共享的目錄-->右鍵 點(diǎn)擊屬性 -->點(diǎn)擊'配置'-->映射下面 -->找到.aspx的可執(zhí)行文件路徑 復(fù)制路徑-->粘貼路徑-->擴(kuò)展名為".html"-->然后把檢查文件是否存在的勾去掉這樣就可以了,如果遇到“確定”按鈕失效, 可以用鍵盤事件編輯路徑即可解決。

本文實(shí)例代碼點(diǎn)此本站下載。

相信本文所述對大家的asp.net程序設(shè)計(jì)有一定的借鑒價(jià)值。

您可能感興趣的文章:
  • ASP.NET網(wǎng)站偽靜態(tài)下使用中文URL的方法
  • asp.net不用設(shè)置iis實(shí)現(xiàn)url重寫 類似偽靜態(tài)路由
  • aspnetpager重寫url(偽靜態(tài))配置實(shí)例
  • iis6偽靜態(tài)重寫路徑的配置步驟(.net項(xiàng)目)
  • win2003 iis asp.net偽靜態(tài)配置圖解
  • ASP.NET MVC3的偽靜態(tài)實(shí)現(xiàn)代碼
  • asp.net偽靜態(tài)配置備忘
  • asp.net下通過泛解析和偽靜態(tài)實(shí)現(xiàn)二級域名的實(shí)現(xiàn)方法
  • ASP.NET URL偽靜態(tài)重寫實(shí)現(xiàn)方法
  • asp.net core mvc實(shí)現(xiàn)偽靜態(tài)功能

標(biāo)簽:蘭州 德陽 白山 張家界 江蘇 陽泉 天門 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法小結(jié)》,本文關(guān)鍵詞  ASP.NET,實(shí)現(xiàn),偽,靜態(tài),網(wǎng)頁,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁方法小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本韩国精品一区二区在线观看| 国产美女一区二区三区| 国产盗摄女厕一区二区三区| 国产精品嫩草影院av蜜臀| av电影在线观看一区| 亚洲日本中文字幕区| 日韩欧美中文一区二区| 在线观看日韩国产| 国产成人免费视频| 久久精品国产精品亚洲综合| 亚洲电影在线播放| 亚洲日本欧美天堂| 国产精品欧美综合在线| 国产亚洲一本大道中文在线| 日韩欧美自拍偷拍| 在线不卡a资源高清| 在线一区二区三区四区五区| 97成人超碰视| 97久久精品人人澡人人爽| 成人教育av在线| 国产成人av电影在线观看| 激情小说欧美图片| 日韩电影在线一区| 日韩中文字幕不卡| 一区二区高清在线| 亚洲愉拍自拍另类高清精品| 国产精品免费av| 欧美成人福利视频| 久久夜色精品国产噜噜av| 一区二区三区欧美日| 精品免费国产二区三区| 91福利视频在线| 亚洲一区二区四区蜜桃| 26uuuu精品一区二区| 日韩一级免费观看| 成人听书哪个软件好| 欧美激情在线一区二区| 色婷婷综合久久久久中文一区二区| 亚洲网友自拍偷拍| 成人免费av在线| 99久久精品99国产精品| 日韩在线a电影| 久久久久久免费网| 色国产精品一区在线观看| 毛片av一区二区三区| 色哟哟一区二区在线观看| 日日欢夜夜爽一区| 国产精品一区一区三区| 亚洲高清免费在线| 欧美经典一区二区| 欧美一区二区三区免费观看视频| 国内精品视频一区二区三区八戒| 中文字幕在线视频一区| 日韩欧美高清在线| 欧美三级乱人伦电影| 国产美女视频一区| 男女男精品网站| 亚洲一区二区三区四区中文字幕| 日本成人中文字幕在线视频 | 久久久久久久电影| 色国产综合视频| 国产成人午夜视频| 日本视频一区二区三区| 亚洲码国产岛国毛片在线| 91蜜桃免费观看视频| 欧美电影免费观看高清完整版 | 亚洲综合一区在线| 日韩一区二区电影在线| 欧美日本视频在线| 99精品视频在线观看免费| 国产成人鲁色资源国产91色综| 久久亚洲综合色| 国产亚洲欧美激情| xnxx国产精品| www成人在线观看| 555www色欧美视频| 一级精品视频在线观看宜春院| 精品一区二区三区视频在线观看| 亚洲h在线观看| 久久久久久一级片| 久久午夜色播影院免费高清| 日韩一区二区免费在线电影| 91麻豆自制传媒国产之光| 国产毛片一区二区| 日韩成人伦理电影在线观看| 色综合天天狠狠| 欧美在线不卡视频| 欧美三级电影在线看| 欧美老人xxxx18| 91精品久久久久久蜜臀| 日韩一级片网站| 国产一区欧美二区| 成人午夜又粗又硬又大| 94-欧美-setu| 欧美三级资源在线| 欧美一区二区在线播放| 欧美性感一类影片在线播放| 国产成人亚洲综合a∨婷婷图片| 国产一区二区伦理| 国产xxx精品视频大全| 中文成人av在线| 日韩和欧美一区二区| 日本一不卡视频| 中文字幕综合网| 久久人人97超碰com| 久久久久久综合| 精品久久五月天| 五月婷婷综合激情| 国内精品国产三级国产a久久| 国产成人综合在线观看| 国产成人亚洲精品青草天美| 久久99国产精品麻豆| www.欧美色图| 一区二区在线观看视频| www.日韩在线| 欧美大片免费久久精品三p| 国产亚洲综合在线| 一区二区在线观看视频在线观看| 亚洲国产精品视频| 国产成人日日夜夜| 欧美高清视频不卡网| 欧美精品一级二级三级| 久久在线免费观看| 亚洲国产精品国自产拍av| 亚洲一区在线观看网站| 国产米奇在线777精品观看| 91精品国产综合久久久久久久| 日韩欧美国产电影| 亚洲精品国产无套在线观| 欧美日韩国产美女| 亚洲精品欧美在线| 激情综合网最新| 精品欧美一区二区三区精品久久| 欧美激情一区二区三区四区| 国产一区二区三区在线观看免费| 91免费国产在线| 在线综合+亚洲+欧美中文字幕| 欧美激情一区二区| 国产精品综合一区二区| 国产揄拍国内精品对白| 亚洲日本一区二区三区| 天天av天天翘天天综合网| 成年人网站91| 久久噜噜亚洲综合| 日韩你懂的在线观看| 成年人午夜久久久| 26uuu欧美日本| 中文天堂在线一区| 顶级嫩模精品视频在线看| 91亚洲精华国产精华精华液| 精品一区二区日韩| 91精品欧美福利在线观看| 亚洲一区二区美女| 国产成人免费视频网站| 日韩你懂的电影在线观看| 日本韩国一区二区| 日本午夜精品视频在线观看| 欧美日韩精品一区视频| 国产欧美精品国产国产专区| 欧美日韩成人高清| 国产一区二区在线观看免费| 欧美一区二区久久| 日产欧产美韩系列久久99| 国产超碰在线一区| 1024亚洲合集| 国产成人免费在线观看不卡| av电影一区二区| 精品国产一区二区三区av性色| 日韩精品福利网| 国产精品欧美综合在线| 99视频精品在线| 亚洲综合999| 欧美日韩激情一区二区| 久久久久久久免费视频了| 欧美电影免费观看高清完整版在线 | 一区二区国产视频| xfplay精品久久| 在线视频国内一区二区| www久久久久| 成人免费观看av| 欧美一区二区免费视频| 日韩欧美国产1| 亚洲二区视频在线| 精品久久久久久亚洲综合网| 成+人+亚洲+综合天堂| 亚洲欧美欧美一区二区三区| 日本福利一区二区| 欧美日韩综合色| 成人av手机在线观看| 亚洲一区二区中文在线| 日韩欧美色综合网站| 国产精品自拍三区| 成人性视频免费网站| 午夜国产不卡在线观看视频| 精品国产一区二区三区久久久蜜月 | 91污片在线观看| 国模套图日韩精品一区二区| 国产精品久久久久影院老司| 蜜臀av在线播放一区二区三区| 亚洲精品自拍动漫在线|