网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

在 ASP.NET 中执行 URL 重写 (UrlRewrite)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
类名称,而 name 值提供了友好名称,可以在 Global.asax 文件中使用此友好名称来引用 HTTP 模块。

Web.config 的 configuration/system.web 部分中的 <httpHandlers> 标记对 HTTP 处理程序和 HTTP 处理程序工厂进行了配置,如下所示:

<httpHandlers><add verb="verb" path="path" type="type" /></httpHandlers>

如上所述,对于每个传入请求,ASP.NET 引擎将确定应使用哪个 HTTP 处理程序来呈现请求。此决定是基于传入请求的动词和路径做出的。动词将指定所作出的 HTTP 请求的类型(GET 或 POST),而路径将指定被请求文件的位置和文件名。因此,如果我们希望 HTTP 处理程序处理对扩展名为 .scott 的文件的所有请求(GET 或 POST),可以在 Web.config 文件中添加下面几行:

<httpHandlers><add verb="*" path="*.scott" type="type" /></httpHandlers>

其中,type 是 HTTP 处理程序的类型。

注意:注册 HTTP 处理程序时,应确保 HTTP 处理程序使用的扩展名已从 IIS 映射到 ASP.NET 引擎,这一点非常重要。也就是说,在本 .scott 示例中,如果 .scott 扩展名没有从 IIS 映射到 aspnet_isapi.dll ISAPI 扩展,则对文件 foo.scott 的请求将导致 IIS 试图返回文件 foo.scott 的内容。为了使 HTTP 处理程序可以处理此请求,必须将 .scott 扩展名映射到 ASP.NET 引擎。然后,ASP.NET 引擎将把请求正确地路由到相应的 HTTP 处理程序。

有关注册 HTTP 模块和 HTTP 处理程序的详细信息,请务必参考 <httpModules> element documentation 和 <httpHandlers> element documentation。

返回页首返回页首

实现 URL 重写

可以使用 ISAPI 筛选器在 IIS Web 服务器级别实现 URL 重写,也可以使用 HTTP 模块或 HTTP 处理程序在 ASP.NET 级别实现 URL 重写。本文重点介绍如何使用 ASP.NET 实现 URL 重写,因此我们将不对使用 ISAPI 筛选器实现 URL 重写的细节进行深入探讨。但是,有大量的第三方 ISAPI 筛选器可用于 URL 重写,例如:

ISAPI Rewrite

IIS Rewrite

PageXChanger

还有许多其他的筛选器!

通过 System.Web.HttpContext 类的 RewritePath() 方法,可以在 ASP.NET 级别实现 URL 重写。HttpContext 类包含有关特定 HTTP 请求的 HTTP 特定信息。对于 ASP.NET 引擎收到的每个请求,均为该请求创建一个 HttpContext 实例。此类具有如下属性:RequestResponse,提供对传入请求和传出响应的访问;ApplicationSession,提供对应用程序和会话变量的访问;User,提供有关通过了身份验证的用户的信息;其他相关属性。

使用 Microsoft® .NET Framework Version 1.0,RewritePath() 方法可以接受单个字符串作为要使用的新路径。HttpContext 类的 RewritePath(string) 方法在内部对 Request 对象的 Path 属性和 QueryString 属性进行更新。除了 RewritePath(string),.NET Framework 1.1 还包括另一种形式的 RewritePath() 方法,此方法可以接受三个字符串输入参数。此备用重载形式不仅要设置 Request 对象的 Path 属性和 QueryString 属性,还要设置内部成员变量,这些变量用于计算 Request 对象的 PhysicalPathPathInfoFilePath 属性值。

要在 ASP.NET 中实现 URL 重写,需要创建 HTTP 模块或 HTTP 处理程序,以便完成以下操作:

1.

检查被请求的路径,以确定 URL 是否需要重写。

2.

如果需要重写,通过调用 RewritePath() 方法来重写路径。

  • 上一篇资讯: ASP.NET 2.0预编译详解
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号