在ASP.NET不同版本间保存中文信息到Cookie中的差异
2007-03-29 17:58
525 查看
在Cookie中存储中文时,ASP.NET 1.1和ASP.NET 2.0的做法不同,另外ASP.NET读取ASP写入的中文Cookie时,需要UrlDecode解码。
ASP.NET 1.1中直接把中文写入Cookie,然后读取Cookie,一切显示正常。
写入:Response.Cookie[“Name”] = “测试”;
读取:Response.Write(Request.Cookie[“Name”]);
环境:IIS + .NET Framework 1.1
ASP.NET 2.0中需要将中文用UrlEncode编码后写入Cookie,读取Cookie后要先用UrlDecode解码才可以正常显示。
写入:Response.Cookie[“Name”] = Server.UrlEncode(“测试”);
读取:Response.Write(Server.UrlDecode(Request.Cookie[“Name”]));
环境:IIS + .NET Framework 2.0
ASP中写入Cookie时默认会以UrlEncode编码,读取时会用UrlDecode解码。(参见:PRB:默认情况下 ASP.NET 不以 UrlEncode 格式对 Cookie 进行编码http://support.microsoft.com/?scid=kb%3Bzh-cn%3B313282&x=4&y=12),所以当ASP.NET中读取ASP写入的Cookie时,必须使用UrlDecode解码才可以正常显示。
另外ASP.NET中,当使用Form验证时生成的加密Cookie,在1.1和2.0版本中是不能直接共享读取的,因为使用了不同的加密算法。博客园的dudu有一篇文章详细描述了此问题并给出了解决办法(参见:从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题 http://www.cnblogs.com/dudu/archive/2006/03/14/350150.html)。
ASP.NET 1.1中直接把中文写入Cookie,然后读取Cookie,一切显示正常。
写入:Response.Cookie[“Name”] = “测试”;
读取:Response.Write(Request.Cookie[“Name”]);
环境:IIS + .NET Framework 1.1
ASP.NET 2.0中需要将中文用UrlEncode编码后写入Cookie,读取Cookie后要先用UrlDecode解码才可以正常显示。
写入:Response.Cookie[“Name”] = Server.UrlEncode(“测试”);
读取:Response.Write(Server.UrlDecode(Request.Cookie[“Name”]));
环境:IIS + .NET Framework 2.0
ASP中写入Cookie时默认会以UrlEncode编码,读取时会用UrlDecode解码。(参见:PRB:默认情况下 ASP.NET 不以 UrlEncode 格式对 Cookie 进行编码http://support.microsoft.com/?scid=kb%3Bzh-cn%3B313282&x=4&y=12),所以当ASP.NET中读取ASP写入的Cookie时,必须使用UrlDecode解码才可以正常显示。
另外ASP.NET中,当使用Form验证时生成的加密Cookie,在1.1和2.0版本中是不能直接共享读取的,因为使用了不同的加密算法。博客园的dudu有一篇文章详细描述了此问题并给出了解决办法(参见:从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题 http://www.cnblogs.com/dudu/archive/2006/03/14/350150.html)。
相关文章推荐
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) .
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) ZT
- 使用COOKIE对像实现保存用户基本信息(结合Session),ASP.Net实现用户登录全过程
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- [ASP.net教程]ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)【转】
- ASP.NET,保存信息的内置对象,如Application,Session,Cookie,Viewstate和Cache等
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
- IIS网站不可用:同一 IIS 进程中运行两个不同的 ASP.NET 版本问题
- ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息
- 在同一 IIS 进程中不可能运行两个不同的 ASP.NET 版本。请使用 IIS 管理工...
- .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息
- [转]Asp.Net Core 简单的使用加密的Cookie保存用户状态
- 页面控件值不能回传(asp.net不同版本控件ReadOnly属性导致值回传问题)
- asp.net cookie 获取时中文乱码问题
- 八、在不同版本的IIS下使用ASP.NET MVC
- 在不同版本的 IIS 上使用 ASP.NET MVC