任何想法如何解决以下问题?在MVC 3 RC中实现TransferResult - 不起作用
TransferResult的一个很好的实现可用here,它在MVC 1,2上运行良好,但在MVC 3 RC上不起作用。
public class TransferResult : RedirectResult
{
public TransferResult(string url): base(url)
{
}
public override void ExecuteResult(ControllerContext context)
{
var httpContext = HttpContext.Current;
httpContext.RewritePath(Url, false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
}
}
在MVC 3 RC,httpHandler.ProcessRequest失败,并说:'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.
如何重写这段代码,使这项工作?
UPD:代码在VS 2010内置开发服务器上运行,但无法在IIS 7.5本地主机上运行。问题仍未解决。
UPD2 TransferResult的这个answer contains a modified implementation与MVC3一起使用。原来它比以前更简单。
你有没有解决这个问题? – 2011-09-27 22:38:15
是的,这里是工作解决方案:http://stackoverflow.com/questions/799511/how-to-simulate-server-transfer-in-asp-net-mvc/1242525#1242525 – Andy 2011-10-08 17:09:10