加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – HttpHandler 101失败

发布时间:2020-12-16 00:14:42 所属栏目:asp.Net 来源:网络整理
导读:当我添加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/pl
当我添加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"/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读