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

文章翻译 文章翻译
文章编号: 308001 - 查看本文应用于的产品
本文的发布号曾为 CHS308001
展开全部 | 关闭全部

本文内容

概要

本分步指南演示如何使用 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 处理程序概述)













属性

文章编号: 308001 - 最后修改: 2001年11月2日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft ASP .NET Beta 2
  • Microsoft Visual C# .NET 2002 标准版
关键字:?
kbhowto kbhowtomaster kbhttpruntime kbgrpdsasp KB308001
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com