HTTPHandler in asp.Net

本文关键字:Net asp in HTTPHandler | 更新日期: 2023-09-27 18:19:33

我想在我的asp.net项目中实现HTTPHandler。我按照链接做了同样的事情。我在根目录中创建了一个名为App_code的文件夹。我给他们写了一个类MyHTTPHandler。它具有Reusable属性,我还处理Process

public class HelloWorldHandler : IHttpHandler
{
    public HelloWorldHandler()
    {
    }
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        if (context.Request.RawUrl.Contains(".cspx"))
        {
            string newUrl = context.Request.RawUrl.Replace(".cspx", ".aspx");
            context.Server.Transfer(newUrl);
        }
    }
    public bool IsReusable
    {
        // To enable pooling, return true here.
        // This keeps the handler in memory.
        get { return false; }
    }
}

处理程序没有变得激烈。由于我是ASP.Net的新手,我不知道出了什么问题。我还在web.config中输入了必需的部分。我浏览了许多链接,有些链接说你需要在IIS中复制代码。我听不懂。请告知

HTTPHandler in asp.Net

不需要在IIS中进行任何设置,除非您想处理一些已经被regsistered的路径。在一般情况下,您只需要将<httpHandlers>部分添加到web.config:

<configuration>
  ...
  <system.web>
    ...
    <httpHandlers>
      <add verb="*"
           path="HelloWorldHandler.ashx" 
           type="NamespaceName.HelloWorldHandler, WebApplicationName" />
    </httpHandlers>
    ...
  </system.web>
  ...
</configuration>

这里,HelloWorldHandler.ashx是激发处理程序所需的路径,NamespaceName.HelloWorldHandler是处理程序类的全名,包括所有命名空间,WebApplicationName是在中实现的程序集处理程序的名称。