<!--web.config-->
<?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="true">
</compilation>
<!--
通过 <authentication> 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
<authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<!--这部分为实际作用区域-->
<httpModules>
<add name="ModuleTest" type="TestHttpModule"/>
</httpModules>
<!--这部分为实际作用区域结束-->
</system.web>
</configuration>
//添加类代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Text.RegularExpressions;
/// <summary>
/// 此一类的使用要配合在Web.Config中配置如下内容(<system.web>节点内)
///<httpModules>
/// <add name="ModuleTest" type="TestHttpModule"/>
///</httpModules>
/// </summary>
public class TestHttpModule:IHttpModule
{
void IHttpModule.Dispose()
{
//throw new NotImplementedException();
}
void IHttpModule.Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(FunMethod); //注册方法
}
private void FunMethod(object sender, EventArgs e) //处理
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
HttpRequest request = application.Request;
HttpResponse response = application.Response;
//response.Write("可以直接输出内容");
string _url = request.Url.ToString();
//匹配跳转
if (Regex.IsMatch(_url, "^http://localhost:10000/httpModulesTest/\\d+", RegexOptions.IgnoreCase))
{
Regex reg = new Regex("^http://localhost:10000/httpModulesTest/(\\d+)", RegexOptions.IgnoreCase);
Match m = reg.Match(_url);
if (m.Success)
{
string mId = m.Groups[1].ToString();
response.Redirect("http://www.baidu.com?id=" + mId);
}
}
}
}
原码:
http://dl.iteye.com/topics/download/c5335581-d822-3210-9497-b7720f68bd0d
分享到:
相关推荐
在.NET开发中,HTTP Modules是IIS(Internet Information Services)中的一个重要组件,它允许开发者在HTTP请求生命周期的各个阶段插入自定义...理解并应用这个实例,可以帮助开发者提升其.NET应用的性能和SEO策略。
该组件名为`sycode.httpmodules.webcompression.zip`,暗示其基于.NET Framework的HTTP模块实现,通常这类组件会集成到ASP.NET应用程序中。 1. **HTTP压缩**: - HTTP压缩是一种在网络传输中减少数据量的技术,...
开发者可以将这个模块添加到ASP.NET应用程序的配置文件(web.config)中,通过`<system.web>`标签下的`<httpModules>`部分注册该模块,如下所示: ```xml <httpModules> , DeSqlInjection"/> </httpModules> ...
过去,处理原始HTTP请求需要编写ISAPI应用程序,但在.NET框架中,这一功能主要由HttpModules实现。 #### IIS的不同版本及处理流程 在Windows Server 2003(IIS v6.0)中,一个名为http.sys的驱动程序首先截获请求...
在这个特定的资源包"ASP.NET-[上传下载]协诚HTTP在线解压组件.httpmodules.webcompression.zip"中,包含的是一个用于HTTP在线解压的组件,特别适用于优化网站性能,提升用户体验。该组件基于HTTP Modules技术,这在...
在ASP.NET中,HTTP模块是通过实现`System.Web.IHttpModule`接口并注册到`web.config`文件中的`<httpModules>`部分来创建的。以下是一个简单的HTTP模块示例: ```csharp public class MyHttpModule : IHttpModule { ...
本文将深入探讨IHttpModule的应用,以及如何利用它来实现网站访问记录。 一、IHttpModule概述 IHttpModule接口是ASP.NET提供的一种机制,用于扩展ASP.NET应用程序的功能。它包含两个关键方法:`Init...
引言,从ASP迁移到ASP.NET,页框架,调试ASP.NET应用程序,状态控制和缓存,配置和部署,Web服务,安全,HttpHandlers和HttpModules,创建用户控件和服务器控件,使用XML以及使用ADO.NET创建数据库应用程序等。...
在这里,我们主要探讨的是"ajx应用",即如何利用AJAX实现网页的异步交互。 首先,我们需要了解AJAX的核心——XMLHttpRequest对象。这是JavaScript内置的一个对象,用于在后台与服务器进行通信。通过创建...
.NET2.0的ASP.NET 2.0带来了许多体系结构的升级,如改进的代码模型、扩展的编译过程以及增强了HTTPModules和HTTPHandlers,提升了开发效率和Web应用程序的性能。 然而,尽管.NET在中小企业应用中表现出色,尤其以其...
HttpApplication是每个Web应用程序的核心,它维护请求的状态,并调用HttpModules和HttpHandlers。 9. Web程序的主要部分:HttpApplication HttpApplication是一个事件驱动的对象,它通过一系列的HttpModule和...
理解ASP.NET是如何将请求路由到应用程序代码中的,以及它是如何处理这些请求的,可以帮助开发者更好地优化性能、解决复杂的问题,并构建出更加高效的应用程序。 总之,ASP.NET是一个高度可扩展的Web应用程序平台,...
在ASP.NET环境中,Web.Config是应用的核心配置文件,用于存储各种配置设置,包括连接字符串、应用程序路径、HTTP处理器(HttpHandlers)、HTTP模块(HttpModules)等。当一个项目被部署为多个虚拟目录时,每个虚拟...
特定于单个页面的配置设置可以在节点下的和<httpModules>中进行设置。例如,元素用于添加或修改HTTP处理程序和模块,可以指定特定的请求类型由哪个类来处理。 通过使用节点,可以配置IIS服务器级别的设置,比如设置...
《Web.config:构建高效Web应用程序的关键配置文件》 在ASP.NET框架中,Web.config文件扮演着至关重要的角色,它是每一个ASP.NET Web应用程序的基础配置文件,用于定义应用的配置信息,如连接字符串、身份验证模式...
1. **注册HttpModule**:在`Web.config`文件中,我们需要在`system.web/httpModules`节中添加模块的配置,指定它的类型全名。 2. **事件处理**:HttpModule通过实现`IHttpModule`接口,并覆盖`Init`和`Dispose`方法...
HTTP模块和HTTP处理器在集成模式中不再在`<httpModules>`节中定义,而是转移到`<system.webServer>`节的`<modules>`和`<handlers>`子节中。 **模式选择的考虑因素**: - 兼容性:经典模式适用于需要与IIS 6.0或更低...
ASP.NET是微软开发的一种强大的Web应用程序构建平台,它提供了极大的灵活性和能力,几乎可以用于构建任何类型的Web应用。尽管大多数人可能只对WebForms和WebServices等高层框架有所了解,它们位于ASP.NET层次结构的...