C# asp.net中的自定义httphandler无法获取请求查询字符串?

C# asp.net中的自定义httphandler无法获取请求查询字符串?,c#,asp.net-mvc-2,umbraco,ihttphandler,C#,Asp.net Mvc 2,Umbraco,Ihttphandler,我一直在努力工作。这基本上是一种让某些MVC页面在webforms cms(umbraco)中工作的方法 有人在我之前尝试过它,但在MVC2.0上遇到了问题,我读过这篇文章,做了那里宣布的事情,但不管有没有这段代码,我似乎陷入了另一个问题 看起来,如果我调用一个url,它会触发处理程序,但无法请求传递的查询字符串,变量originalPath总是空的, 例如,我将此url称为: 处理程序应该获取mvcRoute,但它始终为空。因此,将被重写为简单/然后返回“资源找不到”错误 下面是我现在使用的代

我一直在努力工作。这基本上是一种让某些MVC页面在webforms cms(umbraco)中工作的方法

有人在我之前尝试过它,但在MVC2.0上遇到了问题,我读过这篇文章,做了那里宣布的事情,但不管有没有这段代码,我似乎陷入了另一个问题

看起来,如果我调用一个url,它会触发处理程序,但无法请求传递的查询字符串,变量originalPath总是空的, 例如,我将此url称为: 处理程序应该获取mvcRoute,但它始终为空。因此,将被重写为简单/然后返回“资源找不到”错误

下面是我现在使用的代码:

public void ProcessRequest(HttpContext httpContext)
{
        string originalPath = httpContext.Request.Path;
        string newPath = httpContext.Request.QueryString["mvcRoute"];
        if (string.IsNullOrEmpty(newPath))
            newPath = "/";

        HttpContext.Current.RewritePath(newPath, false);
        IHttpHandler ih = (IHttpHandler)new MvcHttpHandler();
        ih.ProcessRequest(httpContext);
        HttpContext.Current.RewritePath(originalPath, false);
}
我想要一些新的信息,因为我对这样一个简单的问题视而不见,而我认为mvc本身会有更多的问题。

没有时间调查,但在将网站复制到不同的位置后,使用了大量的web.config更改(与此错误无关,但正在解决其他问题)这个错误似乎已经自行解决了。因此,这不再是一个问题,但我不知道到底是什么让这再次起作用

附带说明

ih.ProcessRequest(httpContext);
应该是,

ih.ProcessRequest(HttpContext.Current);