Reputation: 33059
When I add an HTTP handler:
<add verb="*" path="*test.aspx" type="Handler"/>
With the class:
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; }
}
}
My ASP.NET application dies with the error "Could not load type 'Handler'." when I try to access http://localhost:port/mysite/this-is-a-test.aspx.
I thought maybe it was a namespace issue, so I tried what follows, but got the same "Could not load type 'Test.Handler'." error.
<add verb="*" path="*test.aspx" type="Test.Handler, Test"/>
With the class:
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; }
}
}
}
I knew I was getting rusty with ASP.NET, but I'm without a clue on this one.
Upvotes: 4
Views: 6443
Reputation:
By default asp.net Pagerhandlerfactory object will handle all the .aspx resource request.
Upvotes: 0
Reputation: 7543
When the Handler is a class in my App_Code directory the following works for me:
<add verb="*" path="*test.aspx" type="Test.Handler,__Code"/>
(I've only added handlers for whole prefixes like "*.test").
Upvotes: 0
Reputation: 1038710
I guess you are using a web site project in contrast of web application project. In this case you need to put the code behind file of your handler (Handler.cs) in the special App_Code folder. The markup file (Handler.ashx) may be at the root of your site:
<%@ WebHandler Language="C#" Class="Handler" CodeBehind="Handler.cs" %>
Then you can directly declare your handler in web.config:
<add verb="*" path="*test.aspx" type="Handler"/>
Upvotes: 12