Jakieś pomysły, jak rozwiązać poniższy problem?Wdrażanie TransferResult w MVC 3 RC - nie działa
Istnieje doskonała implementacja TransferResult dostępna here, która działała świetnie na MVC 1,2, ale nie działa na 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);
}
}
Na MVC 3 RC, httpHandler.ProcessRequest nie powiedzie się i mówi 'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.
Jak przepisać ten kod do tej pracy?
UPD: Kod działa, jeśli działa na wbudowanym serwerze programistycznym VS 2010, ale nie działa na lokalnym hoście IIS 7.5. Problem jest nadal nierozwiązany.
UPD2 Ten answer contains a modified implementation TransferResult, który działa z MVC3. Okazuje się, że jest jeszcze prostsze niż kiedyś.
czy kiedykolwiek naprawić ten problem? –
Tak, tutaj jest działające rozwiązanie: http://stackoverflow.com/questions/799511/how-to-simulate-server-transfer-in-asp-net-mvc/1242525#1242525 – Andy