All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
sql年月日计算方法_[SQL Server教程]
HyperLink,控件控制图片宽度高度的几种方法_[Asp.Net教程]
数字的转换char,to,int
PHP脚本的8个技巧
ASP.NET中的doPostBack脚本函数实例_[Asp.Net教程]
VS,2008和.NET,3.5,Beta2新特性介绍_[Asp.Net教程]
ASP.NET,2.0中客户端脚本使用总结_.net资料_编程技术
delphi映像内存发送端
WML学习(六):事件_[XML教程]
ASP.NET2.0数据操作之创建数据访问层(4)_[Asp.Net教程]
Reading number is top 10 pictures
Catch prostitution woman in China
美女挤公交
关于提肛的健身效果
粉红蕾丝的美女
On the verge of extinction of the beach1
The dog buy the ham oneself
中国女孩大胆自拍,显露完美身材
Soong ching ling's former residence1
The cat shit
非笑不可:最强爆笑图片精选
Download software ranking
Jinling thirteen stock
电脑知识及技巧大合集
VC++6.0培训教程
XML+Web+Service开发教程
Tram sex maniac 2 (H) rar bag9
致我们终将逝去的青春
WebService在.NET中的实战应用教学视频 → 第2集
功夫熊猫2(下集)
Sora aoi - one of more PK
jBuilder2006
delv published in(发表于) 2014/1/6 9:05:21 Edit(编辑)
ASP与ASP.NET互通COOKIES的一点经验_[Asp.Net教程]

ASP与ASP.NET互通COOKIES的一点经验_[Asp.Net教程]

ASP与ASP.NET互通COOKIES的一点经验_[Asp.Net教程]

在微软推出.NET并进行了大规模的推广普及之后,ASP.NET逐渐进入了信息化系统开发的主流。但与此同时,而用ASP开发的旧系统面则临被整合,这时,面临一个问题:ASP与ASP.NET互相整合时,其中文COOKIES信息无法被互通共享,当使用ASP.NET写入中文COOKIES信息后,使用ASP进行读取,读出来的却是乱码,而非中文。
后来通过查找资料,不停地实践,终于找到了问题的根源,中文COOKIES信息在ASP中无法被正确读取得原因为其中文编码格式不同。
开发项目Web.config配置文件中有如下信息:




据此可知,在没有进行项目特殊配置的情况下,系统中的中文COOKIES信息默认是通过“utf-8”编码方式进行传递的,而ASP中中文COOKIES信息默认是通过“GB2312”编码方式进行传递的,所以ASP与ASP.NET的中文COOKIES信息在默认情况下无法被互通共享,但可以通过如下方法得以解决:
用如下方法进行写COOKIE操作:


'----------------------------------------------------------------
' Name: WriteCookie(ByVal strCookieName As String, ByVal strKeyName As String, ByVal strKeyValue As String)
' Parameters:
' [ByVal] strCookieName - cookie名字
' [ByVal] strKeyName - 键名字
' [ByVal] strKeyValue - 键值。
' Return: String
'----------------------------------------------------------------
Public Function WriteCookie(ByVal strCookieName As String, ByVal strKeyName As String, ByVal strKeyValue As String) As String
Dim objEnc As System.Text.Encoding = System.Text.Encoding.GetEncoding("GB2312")
strKeyValue = System.Web.HttpUtility.UrlEncode(strKeyValue, objEnc)
System.Web.HttpContext.Current.Response.Cookies(strCookieName)(strKeyName) = strKeyValue
End Function


以上方法实现了ASP可以正确读取ASP.NET写入的中文COOKIES信息,但同时如果在ASP.NET中将读取过来的中文COOKIES信息直接在前台显示时还会显示为乱码,这是由于ASP.NET以“utf-8”编码方式显示“GB2312”编码方式的中文信息,所以出现了问题,可以用如下方法在前台页面正确显示中文信息:


Dim uName As String = System.Web.HttpContext.Current.Server.UrlDecode(System.Web.HttpContext.Current.Request.Cookies(strCookieName)(strKeyName))
Dim objEnc As System.Text.Encoding = System.Text.Encoding.GetEncoding("GB2312")
uName = System.Web.HttpUtility.UrlDecode(uName, objEnc)


以上方法解决了中文COOKIES信息在ASP与ASP.NET中无法被互通共享的问题,不过不知可不可以通过修改Web.config配置文件中的编码方式,将“utf-8”编码方式改为“GB2312”编码方式解决上面的问题,应该是可以的,大家可以试一下,告诉我结果。


在ASP.NET中我们一般通过如下方法清除COOKIES信息:


Sub CleanCookies()
Dim i As Integer
Dim cookie As System.Web.HttpCookie
For i = 0 To System.Web.HttpContext.Current.Request.Cookies.Count - 1
cookie = System.Web.HttpContext.Current.Request.Cookies(i)
System.Web.HttpContext.Current.Response.Cookies(CStr(cookie.Name)).Value = ""
System.Web.HttpContext.Current.Response.Cookies(CStr(cookie.Name)).Expires = DateAdd(DateInterval.Day, -1, Now)
Next
End Sub


但在通过以上方法清除COOKIES信息并再次登录时ASP将不能读取ASP.NET的COOKIES,其原因不知为何,但在上面的清除COOKIES信息方法中加入以下语句可解决无法正确清除COOKIES信息的问题:


System.Web.HttpContext.Current.Response.Cookies.Clear()


以上为本人在工作中的一些小小经验总结,可能会有不准确的地方,望大家批正!


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.