【发布时间】:2009-08-22 18:10:41
【问题描述】:
我正在为 URL 重写编写一个简单的 HttpHandler,但我遇到了障碍。
我创建了一个非常简单的 HttpHandler 类来测试:
public class HttpHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.RewritePath("default.aspx", false);
//Rewriter.Rewrite(context);
}
public bool IsReusable
{
get
{
return true;
}
}
}
然后我在 web.config 中有以下动词:
<httpHandlers>
<add verb="*" path="*" type="Tizma.CMS.Runtime.HttpHandler"/>
</httpHandlers>
我基本上希望所有传入的 URL 都通过这个重写器。当我运行它时,ProcessRequest 会触发,但 RewritePath 永远不会到达 default.aspx。
请记住,这只是一个测试,最终 default.aspx 将传递一个查询字符串,类似于 ?pageid=2 我只是想弄清楚 httphandlers 是如何工作的。
我做错了什么?
【问题讨论】: