我为测试目的制作了一个自定义处理程序,如下所示:
namespace MVCHttpHandlerProject
{
public class SomeHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
context.Response.Write("SomeHandler test");
}
}
}
然后我添加到我的web.config下一行:
<httpHandlers>
<add path="SomeHandler.axd" verb="*" type="MVCHttpHandlerProject.SomeHandler, MVCHttpHandlerProject" /></httpHandlers>
并且在<system.webServer>
<handlers>
<add path="SomeHandler.axd" verb="*" type="MVCHttpHandlerProject.SomeHandler, MVCHttpHandlerProject" name="SomeHandler.axd"/>
</handlers>
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
我的 Global.asax.cs 没有被修改,看起来与在 RegisterRoutes 方法中生成时完全相同。
不过,当我尝试访问“http://localhost/Home/SomeHandler.axd”时,会出现“找不到资源”错误。为什么?我错过了什么?我应该如何解决这个问题?