• 如何:创建同步 HTTP 处理程序


    本主题阐释一个 HTTP 处理程序的代码,该处理程序对 ASP.NET 应用程序中其 URL 以 .sample 结尾的资源执行同步请求处理。此代码示例阐释了下列内容:

    • 一个 HTTP 处理程序类的代码。该类必须实现 ProcessRequest 方法和 IsReusable 属性。

    • Web.config 文件中注册该处理程序并将 .sample 文件扩展名映射到该处理程序所需的元素。

    • 如何在 Internet 信息服务 (IIS) 中将 .sample 文件扩展名映射到 ASP.NET。

    Note注意

    在将配置文件更改为包含对新处理程序的引用后,ASP.NET Development Server 将处理对新资源的请求。若要启用 IIS 以处理该请求,请参见下面的过程。

    当用户请求一个其 URL 以 .sample 结尾的资源时,Web 服务器将该请求转发给 ASP.NET。然后 ASP.NET 调用 HTTP 处理程序,后者返回一个响应。该响应由该处理程序动态创建;不需要存在具有文件扩展名 .sample 的文件。有关 ASP.NET 如何与 Web 服务器交互的更多信息,请参见 ASP.NET 生命周期

    创建自定义 HelloWorldHandler HTTP 处理程序类

    1. 在网站的 App_Code 目录中,创建一个名为 HelloWorldHandler 的类。

    2. 向类文件中添加下面的代码。

    3. using System.Web;
      public class HelloWorldHandler : IHttpHandler
      {
          public HelloWorldHandler()
          {
          }
          public void ProcessRequest(HttpContext context)
          {
              HttpRequest Request = context.Request;
              HttpResponse Response = context.Response;
              // This handler is called whenever a file ending
              // in .sample is requested. A file with that extension
              // does not need to exist.
              Response.Write("<html>");
              Response.Write("<body>");
              Response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>");
              Response.Write("</body>");
              Response.Write("</html>");
          }
          public bool IsReusable
          {
              // To enable pooling, return true here.
              // This keeps the handler in memory.
              get { return false; }
          }
      }

    这段代码实现 ProcessRequest 方法并将一个字符串写出到当前 HttpContext 对象的 Response 属性中。

    注册自定义 HTTP 处理程序

    创建完自定义 HTTP 处理程序类后,必须在应用程序的 Web.config 文件中注册它。这样,ASP.NET 在接收对其 URL 以 .sample 结尾的资源进行的请求时,可以找到该处理程序。

    在 Web.config 文件中注册自定义 HTTP 处理程序

    1. 将一个 Web.config 文件添加到网站(如果该文件尚未存在)。

    2. 将下面突出显示的元素添加到 Web.config 文件中。

      <configuration>
          <system.web>
          <httpHandlers>            <add verb="*" path="*.sample"                   type="HelloWorldHandler"/>        </httpHandlers>
          </system.web>
          </configuration>

      这段代码按类名注册自定义处理程序,并将 .sample 文件扩展名映射到该处理程序。

    1. 在 IIS 6.0 中配置 HTTP 处理程序扩展名

  • 相关阅读:
    docker 报错 Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid
    Python list 与 str 互转
    小程序 url传参 参数值过长 接收时候 内容不全的问题
    es6新增对象字面量语法
    Squid Proxy
    常见开发工具安装方法
    批判世界之前先清理你的房间
    windows的双网卡问题
    SSH
    【逆向】Yara规则编写安装与使用教程
  • 原文地址:https://www.cnblogs.com/wzyexf/p/363651.html
Copyright © 2020-2023  润新知