.NET HttpSessionState案例不敏感
|
使用“InProc”存储的.NET的HttpSessionState似乎将会话变量键值视为不区分大小写。例如: session["foo"] = 1; session["Foo"] = 2; Trace.Write(session["foo"].ToString()); // => 2 这个行为似乎没有文档,所以我想知道它是否只是底层会话存储机制的副作用,或者是由类本身有意实现的。 解决方法HttpSessionState的密钥不区分大小写,以匹配经典ASP Session对象的行为。这使得开发人员更容易将ASP应用程序移植到ASP.NET中,而不会引入细微的区分大小写的问题。QueryString,Cookies等对象和其他类似于Classic-ASP的内置对象都是相同的不区分大小写的关键字。 ASP.NET正在设计时,我正在微软的IIS团队工作,ASP.NET尽可能地将ASP.NET代码向后兼容到ASP。这并不意味着ASP.NET具有完美的向后兼容性,但每当一个决定出现(像这种区分大小写)时,默认的答案就是匹配经典ASP行为,除非有一个很好的理由。 也就是说,我同意会议的案例不敏感性可以更好地记录在案。 BTW,ASP.NET会话集合从NameObjectCollectionBase获取其案例行为,它是Cookie,会话状态,应用程序状态,标题等的所有ASP.NET内置对象的基类。从文档:
一个合理的后续问题是:为什么经典的ASP设计具有不区分大小写的键?这样做的原因是,在1996年(或周围),ASP使用的主要语言是VBScript,所以有意义的是满足对VB开发人员的不区分大小写的期望。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net TextBox中的值和文本属性(值被Text覆盖)
- asp.net – 如何获取Page.ClientScript.RegisterClientScri
- asp.net-mvc – 跟踪登录用户
- asp.net – Webforms与MVC.一旦你开始使用MVC ..你有没有回
- ASP.NET的登录控件问题
- asp.net-mvc – ASP.NET MVC – 创建一个新模型或使用Entit
- asp.net-mvc – 如何在本地化的文本中嵌入链接
- asp.net-mvc – Mvc区域路由?
- ASP.NET 5未在开发模式下运行
- asp.net – 如何从codebehind访问web.config的httpRuntime部
- asp.net-mvc-3 – MVC3未终止字符串常量语法错误
- asp.net-mvc – 从单个Web服务器迁移到多个Web服
- asp.net-mvc – 在visual studio中快速更改视图和
- 为什么ASP.NET框架在响应中添加“X-Powered-By:
- asp.net-mvc – 我是否需要将_ValidationScripts
- ASP.Net 5 RC2配置部分绑定
- asp.net-mvc – 在哪里可以找到C#示例代码来实现
- asp.net 删除项目文件/文件夹IIS重启,Session丢
- iis – 是否需要serviceAutoStartProvider属性来
- asp.net-mvc – 在web.config文件中创建自定义变
