我有一个像bellow一样的控制器
public class MenuController : Controller
{
//
// GET: /Menu/
public ActionResult Index()
{
return View();
}
public RedirectResult logout()
{
return RedirectPermanent("http://www.google.com");
}
}
我第一次在注销上设置了一个断点,如果我在地址栏中找到URL localhost :(端口号)/ menu / logout代码按预期在断点处停止但是之后每个和时间码不会停止断点。
我花了大约2-3个小时,发现一些堆栈溢出链接,其中一些正文写清楚浏览器缓存我这样做,它的工作但只有一次,这意味着每次调试之前我必须清除缓存。我使用fire-fox (50.1.0)。以上代码复制。请帮助我陷入困境。
答案 0 :(得分:2)
RedirectPermanent()
的作用。它基本上告诉浏览器,"此资源将从不再次工作,因此请始终请求此重定向的URL。"因此,浏览器会记住这一点,并且不会因请求资源而烦恼,因为该资源已被告知将再次无法使用。
如果您希望重定向是暂时的,请不要将其永久化:
return Redirect("http://www.google.com");
答案 1 :(得分:1)
因为您正在调用RedirectPermanent
您的浏览器(正确)缓存了访问/logout
永久重定向到(在这种情况下) Google的事实。
它正在执行301重定向。
使用Redirect
代替
public RedirectResult logout()
{
return Redirect("http://www.google.com");
}