dudo博客

Community Starter Kit(以下用CSK来代替)的是通过HttpModule模块来实现页面访问的:

RewritePath:我找了好多地方想搞明白究竟是来做什么的,MSDN上的解释是“分配内部路径重写”,这样的解释很模糊,让人看不明白,其实很简单:

Httpcontex.Current.RewritePath("path")(其中path为虚拟相对路径),意思就是说当请求一个页面时,如请求http://localhost/StarterKit/index.aspx 我们对这个请求重写 Httpcontex.Current.RewritePath("/another.aspx")也就是说,服务器实际请求的是another.aspx而对于用户,浏览器地址的栏里显示的却是index.aspx,这就实现了所谓的路径内部重写!

          用途可以有:比如一个商品销售网站,可以为自己的每一个商品设立单独页面,http://www.dudo.org/NewConceptEnglish.aspx 这样的路径是很容易记忆的,而且意义很明显——查看《新概念英语》的相关信息,但是我们在服务器端不必为每个商品都做一个页面(其实是可能的,而且也经常这么做),这样我们就用到了RewritePath,我们可以改写成 RewritePath("Detail?ID=NewConceptEnglish"),这样我们就只有一个页面了 ,页面的内容根据ID来变化。这样做的好处是用户很容易记住我们的网址 :)这样就给用户一个错觉:其实NewConceptEnglish.aspx在我们的服务器上并不真实存在,它已经被改写了~~~

        至于在什么什么时间改写,比较合适,当然是在Begin_Request时最合适了,因为服务器还没有真正调用我们页面,否则就会显示404 Not Found了~~

       至于如何使用Begin_Request,:)一下篇中再详细说~~

 



随便说两句
名字:
Email:
网站:
内容:

无觅相关文章插件,快速提升流量