成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET的URL Rewrite組件

開發 后端
本文介紹ASP.NET級別的URL Rewrite組件的原理很簡單,其實只是監聽BeginRequest事件,并且根據配置來決定目標URL。

可能已經沒有人會使用上一篇ASP.NET文章中的方法進行URL Rewrite了,因為提供URL Rewrite組件早已鋪天蓋地了。

ASP.NET級別的URL Rewrite組件的原理很簡單,其實只是監聽BeginRequest事件,并且根據配置來決定目標URL。在我之前接觸過的項目中,發現使用URLRewriter作為URL Rewrite組件的頻率非常高,我想可能是因為那是微軟提供的東西吧。

如果要使用URLRewriter,首先自然就是在web.config中配置一個HttpModule:

  1. <httpModules> 
  2. <add name="ModuleRewriter" type="URLRewriter.ModuleRewriter, URLRewriter" /> 
  3. </httpModules> 
  4.  


然后就是進行配置了(注:強烈建議使用configPath屬性將配置提取成額外的文件,便于管理):

  1. <configSections> 
  2. <section name="RewriterConfig" 
  3. type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> 
  4. </configSections> 
  5. <RewriterConfig> 
  6. <Rules> 
  7. <RewriterRule> 
  8. <LookFor>~/tag/([\w]+)/</LookFor> 
  9. <SendTo>~/Tags.aspx?Tag=$1</SendTo> 
  10. </RewriterRule> 
  11. </Rules> 
  12. </RewriterConfig> 

正則表達式是一個非常了不得的東西,能匹配,能捕獲。在上面的例子中,我們把符合LookFor條件的“/tag/xxx”重新定位到 Tags.aspx頁面上,并且將xxx作為Tag這個QueryString項的值,這樣就能夠在代碼中通過 HttpContext.Request.QueryString["Tag"]來獲得該值了。

URL Rewriter的功能對于大多數應用來說已經足夠了,但是我總是不喜歡。但如果非要問我不喜歡的原因,我也難說出個子丑寅卯來。可能僅僅是這個配置方式的問題吧。在使用 URL Rewriter時,配置段往往會非常長,每個配置項需要從<RewriterRule>到</RewriterRule>共4 行代碼,一個規模不大的項目都很容易出現上百行的配置。“這也太XML了”,我想,為什么不用XML Attribute呢?這樣每個配置項就能縮短為1行了——不過,這是ASP.NET題外話。

所以如果我目前要做URL Rewrite,往往用的是Intelligencia出品的開源組件Url Rewriter.NET。雖然這個名字和前一個非常相似,但是功能卻遠超前者。該組件在使用上和URL Rewriter比較接近(其實似乎所有的URL Rewrite組件都差不多),我們要做的也只是配置:

  1. <configSections> 
  2. <section name="rewriter" 
  3. type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,  
  4. Intelligencia.UrlRewriter" /> 
  5. </configSections> 
  6. <rewriter> 
  7. <rewrite url="^/User/(\d+)$" to="~/User.aspx?id=$1" processing="stop" /> 
  8. <rewrite url="^/User/(\w+)$" to="~/User.aspx?name=$1" processing="stop" /> 
  9. </rewriter> 
  10. <system.web> 
  11. <httpModules> 
  12. <add name="UrlRewriter" 
  13. type="Intelligencia.UrlRewriter.RewriterHttpModule,  
  14. Intelligencia.UrlRewriter" /> 
  15. </httpModules> 
  16. </system.web> 

【編輯推薦】

  1. XML和ASP.NET
  2. ASP.NET中Java script中調用c#方法
  3. ASP.NET整個Postback程序處理的過程
  4. ASP.NET服務器端控件CheckBoxList
  5. 淺析ASP.NET的Membership
責任編輯:佚名 來源: IT168
相關推薦

2009-07-22 14:23:39

URL RewriteASP.NET

2009-01-04 13:27:10

URL RewriteIISASP.NET

2009-09-24 09:26:22

ASP.NET MVC

2009-07-31 09:58:20

URL映射ASP.NET

2009-07-31 09:39:59

ASP.NET和URL

2009-08-05 13:16:43

ASP.NET URL

2009-08-05 14:46:17

ASP.NET url

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-23 16:28:20

URL映射ASP.NET 2.0

2009-08-10 10:19:47

ASP.NET組件設計

2009-08-05 16:53:14

ASP.NET組件設計

2009-08-10 14:08:15

ASP.NET服務器控ASP.NET組件設計

2009-08-10 16:07:44

ASP.NET Lin

2009-08-10 15:42:33

ASP.NET Che

2009-07-31 13:06:53

CheckBoxLisASP.NET頁面

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-10-26 15:55:43

URL Routing

2009-07-20 15:48:10

OWC組件ASP.NET 2.0
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av在线成人 | 国产一区二区三区四区hd | 国产中文视频 | 久久成人精品 | 精精国产xxxx视频在线播放 | 中文字幕国产视频 | 成人亚洲网| 欧美精品成人 | 免费一级网站 | 永久免费av| 午夜精品久久久 | 国产黄色大片在线免费观看 | 国产一级电影在线 | 在线免费91 | 新91| 日韩久久久久 | 国产乱码高清区二区三区在线 | 午夜小视频在线播放 | 日本福利视频免费观看 | 天天爱av | 国产美女黄色片 | 中文字幕在线观看视频网站 | 精品久久久久一区二区国产 | 亚洲人成网亚洲欧洲无码 | 亚洲一区视频在线 | 亚洲性在线 | www.日韩 | 国产精品免费在线 | 国产三级在线观看播放 | 久久久99精品免费观看 | 99综合在线 | 国产精品区一区二区三 | 欧美一区二区大片 | 国产xxxx搡xxxxx搡麻豆 | 亚洲欧美日韩一区 | 国产精品久久九九 | 91久久婷婷 | 瑞克和莫蒂第五季在线观看 | 天天干天天想 | 久热免费在线 | 一区二区三区亚洲 |