All*_*ing 1 redirect asp.net-mvc-4
从MVC3转移到MVC4后,此行
Return Redirect("https://secure.mysite.com/account/signup")
Run Code Online (Sandbox Code Playgroud)
开始抛出异常
Server cannot set status after HTTP headers have been sent
Run Code Online (Sandbox Code Playgroud)
这是方法
Function signup() As ActionResult
Dim HTTP_HOST = Request.ServerVariables("HTTP_HOST")
If Request.IsSecureConnection = False Or HTTP_HOST <> "secure.mysite.com" Then
Return Redirect("https://secure.mysite.com/account/signup")
End If
'more code here
Return View(_viewModel)
End Function
Run Code Online (Sandbox Code Playgroud)
无法解决这个问题,因为上面的返回重定向行是第一次回送会话.
我的代码中有一个类似的问题,我可以看到ELMAH日志记录: System.Web.HttpException (0x80004005): Server cannot set status after HTTP headers have been sent.
我认为异常是因为Response.End和Response.Redirect不会导致MVC应用程序中的线程中止(Response.Redirect实际上不是MVC管道的一部分).
尝试:
return new RedirectResult("https://secure.mysite.com/account/signup", true);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9411 次 |
最近记录: |