国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP與ASP.NET互通COOKIES的一點經驗

2024-07-10 12:40:45
字體:
來源:轉載
供稿:網友
  在微軟推出.NET并進行了大規模的推廣普及之后,ASP.NET逐漸進入了信息化系統開發的主流。但與此同時,而用ASP開發的舊系統面則臨被整合,這時,面臨一個問題:ASP與ASP.NET互相整合時,其中文COOKIES信息無法被互通共享,當使用ASP.NET寫入中文COOKIES信息后,使用ASP進行讀取,讀出來的卻是亂碼,而非中文。
    后來通過查找資料,不停地實踐,終于找到了問題的根源,中文COOKIES信息在ASP中無法被正確讀取得原因為其中文編碼格式不同。
    開發項目Web.config配置文件中有如下信息:

    <!--  全球化          此節設置應用程序的全球化設置。    -->
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />

    據此可知,在沒有進行項目特殊配置的情況下,系統中的中文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”編碼方式的中文信息,所以出現了問題,可以用如下方法在前臺頁面正確顯示中文信息:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金昌市| 舞阳县| 东乌珠穆沁旗| 泽库县| 沾化县| 安图县| 博客| 正阳县| 太仆寺旗| 灵山县| 策勒县| 隆林| 库伦旗| 托克托县| 平度市| 上饶县| 蒙城县| 林甸县| 乡城县| 小金县| 大荔县| 个旧市| 金塔县| 永春县| 襄樊市| 广西| 兴安盟| 上蔡县| 贡嘎县| 灵台县| 镇雄县| 富裕县| 灵山县| 镇赉县| 行唐县| 习水县| 五寨县| 黑水县| 内乡县| 绥阳县| 北辰区|