微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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"/>

原文地址:https://www.jb51.cc/aspnet/251784.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐