asp.net – HttpHandler 101失败

当我添加HTTP处理程序时:
<add verb="*" path="*test.aspx" type="Handler"/>

随着课程:

using System;
using System.Web;

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World");
    }

    public bool IsReusable
    {
        get { return false; }
    }

}

我的ASP.NET应用程序死于错误“无法加载类型’处理程序’.”当我尝试访问http://localhost:port/mysite/this-is-a-test.aspx时.

我想也许这是一个命名空间问题,所以我尝试了下面的内容,但得到了相同的“无法加载类型’Test.Handler’.”错误.

<add verb="*" path="*test.aspx" type="Test.Handler,Test"/>

随着课程:

using System;
using System.Web;

namespace Test
{

    public class Handler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
        }

        public bool IsReusable
        {
            get { return false; }
        }

    }

}

我知道我在使用ASP.NET时已经生锈了,但我对这个问题一无所知.

解决方法

我想你正在使用一个网站项目与Web应用程序项目形成对比.在这种情况下,您需要将处理程序(Handler.cs)的代码放在特殊的App_Code文件夹中.标记文件(Handler.ashx)可能位于您网站的根目录:
<%@ WebHandler Language="C#" Class="Handler" CodeBehind="Handler.cs" %>

然后你可以直接在web.config中声明你的处理程序:

<add verb="*" path="*test.aspx" type="Handler"/>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....