欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP與ASP.NET互通COOKIES的一點經(jīng)驗

 更新時間:2006年09月28日 00:00:00   作者:  
  在微軟推出.NET并進行了大規(guī)模的推廣普及之后,ASP.NET逐漸進入了信息化系統(tǒng)開發(fā)的主流。但與此同時,而用ASP開發(fā)的舊系統(tǒng)面則臨被整合,這時,面臨一個問題:ASP與ASP.NET互相整合時,其中文COOKIES信息無法被互通共享,當使用ASP.NET寫入中文COOKIES信息后,使用ASP進行讀取,讀出來的卻是亂碼,而非中文。
    后來通過查找資料,不停地實踐,終于找到了問題的根源,中文COOKIES信息在ASP中無法被正確讀取得原因為其中文編碼格式不同。
    開發(fā)項目Web.config配置文件中有如下信息:

    <!--  全球化          此節(jié)設(shè)置應(yīng)用程序的全球化設(shè)置。    -->
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />

    據(jù)此可知,在沒有進行項目特殊配置的情況下,系統(tǒng)中的中文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

    以上方法實現(xiàn)了ASP可以正確讀取ASP.NET寫入的中文COOKIES信息,但同時如果在ASP.NET中將讀取過來的中文COOKIES信息直接在前臺顯示時還會顯示為亂碼,這是由于ASP.NET以“utf-8”編碼方式顯示“GB2312”編碼方式的中文信息,所以出現(xiàn)了問題,可以用如下方法在前臺頁面正確顯示中文信息:

        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”編碼方式解決上面的問題,應(yīng)該是可以的,大家可以試一下,告訴我結(jié)果。

    在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()

    以上為本人在工作中的一些小小經(jīng)驗總結(jié),可能會有不準確的地方,望大家批正!

 

相關(guān)文章

  • asp.net實現(xiàn)的群發(fā)郵件功能詳解

    asp.net實現(xiàn)的群發(fā)郵件功能詳解

    這篇文章主要介紹了asp.net實現(xiàn)的群發(fā)郵件功能,結(jié)合具體實例形式分析了asp.net基于SMTP服務(wù)群發(fā)QQ郵件的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2017-05-05
  • Asp.Net HttpHandler 妙用

    Asp.Net HttpHandler 妙用

    很多時候,我們新建一個xxx.aspx頁和xxx.aspx.cs文件,不過是為了實現(xiàn)一個很簡單的功能
    2009-04-04
  • Asp.net禁用頁面緩存的方法總結(jié)

    Asp.net禁用頁面緩存的方法總結(jié)

    這篇文章主要介紹了Asp.net禁用頁面緩存的方法,需要的朋友可以參考下
    2014-02-02
  • 分享提高ASP.NET Web應(yīng)用性能的技巧

    分享提高ASP.NET Web應(yīng)用性能的技巧

    這篇文章主要為大家分享提高ASP.NET Web應(yīng)用性能的技巧和方法,感興趣的朋友可以參考一下
    2016-01-01
  • CZGL.ProcessMetrics監(jiān)控.NET應(yīng)用

    CZGL.ProcessMetrics監(jiān)控.NET應(yīng)用

    這篇文章介紹了CZGL.ProcessMetrics監(jiān)控.NET應(yīng)用的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.Net?Core讀取配置文件的三種方法小結(jié)

    ASP.Net?Core讀取配置文件的三種方法小結(jié)

    ASP.NET?Core支持多種格式的配置文件,如JSON、XML、INI等,本文就來介紹一下ASP.Net?Core讀取配置文件的三種方法,感興趣的可以了解一下
    2024-02-02
  • ASP.NET Core中的對象池化技術(shù)詳解

    ASP.NET Core中的對象池化技術(shù)詳解

    這篇文章主要為大家詳細介紹了ASP.NET Core中的對象池化技術(shù)的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • asp.net操作過程中常見錯誤的解決方法

    asp.net操作過程中常見錯誤的解決方法

    這篇文章主要介紹了asp.net操作過程中常見錯誤的解決方法,主要有IIS無法識別ASP.NET、 SQL Server不允許進行遠程連接可能會導(dǎo)致此失敗等問題,感興趣的小伙伴們可以參考一下
    2015-10-10
  • 基于.Net?Core認證授權(quán)方案之JwtBearer認證

    基于.Net?Core認證授權(quán)方案之JwtBearer認證

    這篇文章介紹了基于.Net?Core認證授權(quán)方案之JwtBearer認證,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • .NET 刷新頁面防止表單二次提交的實現(xiàn)方法

    .NET 刷新頁面防止表單二次提交的實現(xiàn)方法

    頁面上按鈕是服務(wù)器控件,現(xiàn)在刷新頁面要防止按鈕事件重復(fù)執(zhí)行。這篇文章給大家?guī)砹?net刷新頁面防止表單二次提交的實現(xiàn)方法,非常不錯,感興趣的朋友一起看看吧
    2016-09-09

最新評論