任何想法如何解決以下問題?在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