我正在尝试将 url 存储在 Session 中,以便稍后在我重定向响应以整理我的 URL 时获取。这是在 Global.asax 文件中。我正在获取原始响应并将 url 存储在会话中
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
HttpException httpException = exception as HttpException;
// get the url
var url = Request.RawUrl;
// store in session
Session["requestUrl"] = url;
if (exception is HttpException && ((HttpException)exception).GetHttpCode() == 404) {
Response.Redirect("/CMS/CMS");
}
}
如果我查看 Session 内容,它就在那里
然后我尝试在我的 CMS/CMS 操作中提取它,但变量 url 为空??:
public ActionResult CMS(String aspxerrorpath)
{
var url = Session["requestUrl"]; // this is null??
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
return View();
}
有任何想法吗?