当我添加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有点生疏了,但我对这件事一无所知。
发布于 2009-01-20 07:08:57
我猜您使用的是网站项目,而不是web应用程序项目。在这种情况下,您需要将处理程序的代码隐藏文件(Handler.cs)放在特殊的App_Code文件夹中。标记文件(Handler.ashx)可能位于站点的根目录:
<%@ WebHandler Language="C#" Class="Handler" CodeBehind="Handler.cs" %>然后您可以直接在web.config中声明您的处理程序:
<add verb="*" path="*test.aspx" type="Handler"/>发布于 2009-01-20 07:20:57
当处理程序是我的App_Code目录中的一个类时,以下方法适用于我:
<add verb="*" path="*test.aspx" type="Test.Handler,__Code"/>(我只为像“*.test”这样的整个前缀添加了处理程序)。
发布于 2009-01-20 09:07:58
默认情况下,asp.net Pagerhandlerfactory对象将处理所有的.aspx资源请求。
https://stackoverflow.com/questions/460301
复制相似问题