Есть идеи как исправить ниже?
Существует замечательная реализация TransferResult, доступная здесь , которая отлично работала на 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, которая работает с MVC3. Оказывается, это даже проще, чем раньше.