asp.net中强类型的会话
如果这个问题已被提出,请原谅我. HttpContext.Current.Session [“key”]返回一个对象,我们必须先将它强制转换为该特定的Type才能使用它.我正在研究类型会话的各种实现
http://www.codeproject.com/KB/aspnet/typedsessionstate.aspx 如果我们想要将一个新的对象类型添加到会话中,或者作为方法或单独的包装器,我觉得我们需要在SessionManager中添加更多代码(如果我错了,请更正).我以为我们可以使用泛型 public static class SessionManager<T> where T:class { public void SetSession(string key,object objToStore) { HttpContext.Current.Session[key] = objToStore; } public T GetSession(string key) { return HttpContext.Current.Session[key] as T; } } >是否有任何固有的优势 SessionManager<类类别> .GetSession( “sessionString”) 而不是使用 HttpContext.Current.Session["sessionString"] as ClassType >我还以为这会很好 SessionManager [“sessionString”] = objToStoreInSession, >我的想法是创建一个SessionObject,它将存储Type和对象,然后使用密钥将此对象添加到Session(使用SessionManager).检索时,将所有对象强制转换为SessionObject,获取类型(比方说t)和Object(比如obj)并将obj转换为t并返回它. 公共类SessionObject 这不会起作用(因为返回签名将是相同的,但返回类型将是不同的). 是否有任何其他优雅的方式以更安全的方式在会话中保存/检索对象 解决方法
对于一个非常干净,可维护和光滑的处理Session的方式,请看这个
post.你会惊讶它是多么简单.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 从ASP.NET Core 2.1应用程序中删除“Serve
- asp.net – 在webrequest上停止了应用程序池
- System.Net.ServicePointManager.DefaultConnectionLimit和
- asp.net – 在服务器端管理不断增长的CSS样式表 – 是否有任
- asp.net – 如何在Firefox上命名文件以供下载?
- asp.net – Razor视图无法识别@model或Lambda @Html方法
- asp.net – System.Security.SecurityException?
- asp.net – COMException未知错误(0x80005000) – Director
- asp.net – NLogConfigurationException – 从’System.Str
- asp.net-mvc – 在asp.net MVC中使用的TempData集合是什么?
- asp.net – 是否可以访问配置文件而不更新LastAc
- asp.net-mvc – ExceptionContext.ExceptionHand
- 在ASP.NET,VS2008中“无法重新格式化文档”
- ASP.NET登录/成员资格 – 如何注销?
- .net – 何时设置HttpContext.User.Identity?
- asp.net-mvc-3 – 我可以在MVC3中扩展ModelState
- asp.net-mvc – 部署后不显示捆绑的css … ASP.N
- ASP.NET Core 认证与授权[6]:授权策略是怎么执行
- ASP.NET MVC与ASP.NET 4.0
- asp.net – 我应该花费我的努力实现knockoutjs或