asp.net-mvc - ASP.NET MVC 中的 Redirect() 与 RedirectPermanent()

标签 asp.net-mvc

Redirect()RedirectPermanent() 之间有什么区别。我读过一些文章,但我不明白什么时候必须使用 Redirect()RedirectPermanent()。你能举个例子吗?

最佳答案

两者之间的基本区别在于,RedirectPermanent 向浏览器发送 HTTP 301(永久移动)状态代码,而 Redirect 将发送HTTP 302 状态代码。

如果资源已永久移动且无法再在其先前位置进行访问,请使用RedirectPermanent。大多数浏览器会缓存此响应并自动执行重定向,而无需再次请求原始资源。

如果资源将来可能在同一位置 (URL) 中可用,请使用重定向

示例

假设您的系统中有用户。您还可以选择删除现有用户。您的网站有一个资源 /user/{userid},它显示给定用户的详细信息。如果用户已被删除,您必须重定向到 /user/does-not-exist 页面。在这种情况下:

如果用户将永远再次恢复,您应该使用RedirectPermanent,以便浏览器可以直接转到/user/does-not-exist code> 在后续请求中,即使 URL 指向 /user/{userid}

如果用户将来可能会恢复,您应该使用常规的重定向

关于asp.net-mvc - ASP.NET MVC 中的 Redirect() 与 RedirectPermanent(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517318/

相关文章:

c# - 将 OrderBy 与 Entity Framework 和 ObjectContext.CreateQuery(T) 结合使用时出现问题

javascript - Dotnet 和 JavaScript url 编码

javascript - Actionlink rowindex 存储到 C# get 设置

c# - 如何从 docusign 检索已签名的用户文档?

asp.net - 如果关键服务不可用,如何使 ASP.NET 站点脱机

asp.net-mvc - 关于 asp.net MVC View 模型模式的几个问题

asp.net-mvc - 使用 JSON、JQuery 将复杂对象数组发布到 ASP.NET MVC Controller

javascript - 使用 Razor 形式和模型值而不是当前的 js 对象

asp.net-mvc - 使用 AJAX.BeginForm 时 ASP.NET MVC jQueryUI 日期选择器不工作

c# - 无法创建 Controller ,依赖注入(inject)