HOW TO:使用 Visual C# .NET 创建 ASP.NET HTTP 处理程序 (From MSDN)

本文的发布号曾为 CHS308001
本文讨论一种 Microsoft 产品的 Beta 版本。本文中的信息按“原样”提供,如有更改恕不另行通知。

对于该 Beta 产品,Microsoft 不提供正式的产品支持。有关获取对 Beta 版本的支持的信息,请参见 Beta 产品文件中包括的文档资料,或查看您下载此版本的站点。

有关本文的 Microsoft Visual Basic .NET 版本,请参见 CHS307997

本任务的内容

概要

本分步指南演示如何使用 Visual C# .NET 创建简单的自定义 HTTP 处理程序。本文演示如何创建、部署和配置该处理程序。

返回页首

实现处理程序

  1. 打开 Microsoft Visual Studio .NET。 在 Visual C# .NET 中,新建一个名为 MyHandler 的类库项目。
  2. 设置一个对 System.Web.dll 程序集的引用。
  3. 将以下指令添加到该类中:
    using System.Web;
  4. 重命名类 SyncHandler.cs,然后相应地更改类定义。
  5. 实现 IHttpHandler 接口。您的类定义应如下所示:
    public class SyncHandler : IHttpHandler
  6. 实现 IHttpHandler 接口的 IsReusable 属性和 ProcessRequest 方法。因为这是一个同步处理程序,所以为 IsReusable 属性返回 False 以使该处理程序不共用。
    public bool IsReusable
    {
       get {return false;}
    }
    
    public void ProcessRequest(HttpContext context)
    {
       context.Response.Write("Hello from custom handler.");
    }
  7. 编译项目。
返回页首

部署处理程序

  1. 在 C:/Inetpub/Wwwroot 目录下新建一个名为 Handler 的目录。
  2. 在新创建的 Handler 目录下创建一个 Bin 子目录。结果形成的路径是 C:/Inetpub/Wwwroot/Handler/Bin。
  3. 将 MyHandler.dll 从项目的 Bin/Debug 目录复制到 C:/Inetpub/Wwwroot/Handler/Bin 目录。
  4. 按照下面的步骤将新的 Handler 目录标记为一个 Web 应用程序:
    1. 打开 Internet 服务管理器。
    2. 右键单击 Handler 目录,然后单击属性
    3. 目录选项卡上,单击创建
  5. 按照下列步骤为该处理程序创建一个应用程序映射。对于此处理程序,为 *.sync 扩展名创建一个到 Aspnet_isapi.dll 文件的映射。每当请求 .sync 文件时,该请求就会被路由到 ASP.NET,由 ASP.NET 执行处理程序中的代码。
    1. 右键单击 Handler Web 应用程序,然后单击属性
    2. 目录选项卡上,单击配置
    3. 单击添加以添加一个新映射。
    4. 可执行文件文本框中,键入下面的路径:

      C:/WINNT/Microsoft.NET/Framework/< 版本号 >/Aspnet_isapi.dll

    5. 扩展名文本框中,键入 .sync
    6. 确保清除了“检查文件是否存在”复选框,然后单击确定以关闭添加/编辑应用程序扩展名映射对话框。
    7. 单击确定以关闭应用程序配置处理程序属性对话框。
  6. 关闭 Internet 服务管理器。
返回页首

配置系统

  1. 在 C:/Inetpub/Wwwroot/Handler 目录下,新建一个名为 Web.config 的文件。
  2. 将下面的代码添加到 Web.config 中:
    <configuration>
       <system.web>
          <httpHandlers>
             <add verb="*" path="*.sync" type="MyHandler.SyncHandler, MyHandler" />
          </httpHandlers>
       </system.web>
    </configuration>
    verb="*" 属性中,我们指示处理程序处理一个使用了任一谓词(如 POST、HEAD、GET 等)的请求。 如果希望此处理程序仅处理 POST 请求,则将它更改为 verb="POST"

    path="*.sync" 属性中,我们指示处理程序处理 .sync 文件的任何传入请求。

    type="MyHandler.SyncHander, MyHandler" 属性中,我们指示处理请求的处理程序在 MyHandler.SyncHandler 名称空间实现,而此类则驻留在 MyHandler 程序集中。
返回页首

测试模块

要测试处理程序,文件系统中不需要有一个页。例如,请求 Handler Web 应用程序中的 Default.sync 文件(http://< 计算机名 >/Handler/Default.sync)。您会看到下面的结果:
Hello from custom handler.
返回页首

参考

有关 HTTP 处理程序的其他信息,请单击下列文章编号,查看相应的 Microsoft 知识库文章:

307985 BETA-INFO:ASP.NET HTTP Modules and HTTP Handlers Overview(BETA-INFO:ASP.NET HTTP 模块和 HTTP 处理程序概述)

返回页首












这篇文章中的信息适用于:

  • Microsoft ASP .NET Beta 2
  • Microsoft Visual C# .NET Beta 2
最近更新:2001-11-2 (1.0)
关键字kbGrpDSASP kbhowto kbHOWTOmaster kbHttpRuntime KB308001 kbAudDeveloper
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值