【发布时间】:2015-07-29 20:49:50
【问题描述】:
我正在尝试实现在 ASP.NET MVC5 中相对透明地加密 id 的能力。我有一系列自定义 HTML 助手,它们会发出加密的 id,例如: http://url/CityDetails/Edit/Vb7B_slYoRdt1cQD5mNum
html 帮助器将密钥存储在会话范围内。
然后,我有一个实现 System.Web.Routing.RouteBase 的类,方法 GetRouteData 应该用解密的 id 替换加密的 id。如果我对密钥进行硬编码,则此方法有效,但如果我将密钥存储在会话范围内并尝试访问它,则 Session 始终为空。
public override RouteData GetRouteData(HttpContextBase httpContext){
//Session is always null
HttpSessionState session1 = System.Web.HttpContext.Current.Session;
...
return routeData;
}
有没有办法参加会议?我显然不了解这里的生命周期。
【问题讨论】:
标签: session asp.net-mvc-5 asp.net-mvc-routing session-variables