最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP與ASP.NET互通COOKIES的一點(diǎn)經(jīng)驗(yàn)

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

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

    據(jù)此可知,在沒(méi)有進(jìn)行項(xiàng)目特殊配置的情況下,系統(tǒng)中的中文COOKIES信息默認(rèn)是通過(guò)“utf-8”編碼方式進(jìn)行傳遞的,而ASP中中文COOKIES信息默認(rèn)是通過(guò)“GB2312”編碼方式進(jìn)行傳遞的,所以ASP與ASP.NET的中文COOKIES信息在默認(rèn)情況下無(wú)法被互通共享,但可以通過(guò)如下方法得以解決:
    用如下方法進(jìn)行寫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

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

        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中無(wú)法被互通共享的問(wèn)題,不過(guò)不知可不可以通過(guò)修改Web.config配置文件中的編碼方式,將“utf-8”編碼方式改為“GB2312”編碼方式解決上面的問(wèn)題,應(yīng)該是可以的,大家可以試一下,告訴我結(jié)果。

    在ASP.NET中我們一般通過(guò)如下方法清除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

    但在通過(guò)以上方法清除COOKIES信息并再次登錄時(shí)ASP將不能讀取ASP.NET的COOKIES,其原因不知為何,但在上面的清除COOKIES信息方法中加入以下語(yǔ)句可解決無(wú)法正確清除COOKIES信息的問(wèn)題:

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

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

 

相關(guān)文章

  • c# .Net Core靜態(tài)文件服務(wù)器的新人入門教程

    c# .Net Core靜態(tài)文件服務(wù)器的新人入門教程

    這篇文章主要給大家介紹了關(guān)于c# .Net Core靜態(tài)文件服務(wù)器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • asp.net core系列之模型綁定和驗(yàn)證方法

    asp.net core系列之模型綁定和驗(yàn)證方法

    這篇文章主要介紹了asp.net core系列之模型綁定和驗(yàn)證方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • asp.net中session的原理及應(yīng)用詳解

    asp.net中session的原理及應(yīng)用詳解

    Session是一種Web會(huì)話中的常用狀態(tài)之一,Session提供了一種把信息保存在服務(wù)器內(nèi)存中的方式。他能儲(chǔ)存任何數(shù)據(jù)類型,包含自定義對(duì)象,本文將詳細(xì)介紹asp.net中session的原理及應(yīng)用,需要的朋友可以參考下
    2012-11-11
  • .net6?使用Senparc開(kāi)發(fā)小程序配置過(guò)程

    .net6?使用Senparc開(kāi)發(fā)小程序配置過(guò)程

    這篇文章主要介紹了.net6?使用Senparc開(kāi)發(fā)小程序配置,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • asp.net分頁(yè)控件使用詳解【附實(shí)例下載】

    asp.net分頁(yè)控件使用詳解【附實(shí)例下載】

    本篇文章主要對(duì)asp.net創(chuàng)建事務(wù)的方法進(jìn)行實(shí)例介紹,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12
  • ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法(附demo源碼下載)

    ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法(附demo源碼下載)

    這篇文章主要介紹了ASP.NET MVC使用ActionFilterAttribute實(shí)現(xiàn)權(quán)限限制的方法,結(jié)合實(shí)例形式分析了ASP.NET MVC使用ActionFilterAttribute過(guò)濾類實(shí)現(xiàn)權(quán)限限制的步驟與相關(guān)技巧,并附帶demo源碼供讀者下載,需要的朋友可以參考下
    2016-04-04
  • 用程序修改IIS目錄的Asp.Net版本

    用程序修改IIS目錄的Asp.Net版本

    目前已經(jīng)有很多介紹創(chuàng)建IIS虛擬目錄的文章了,我個(gè)人也翻譯過(guò)一篇
    2007-04-04
  • ASP.NET Core MVC獲取請(qǐng)求的參數(shù)方法示例

    ASP.NET Core MVC獲取請(qǐng)求的參數(shù)方法示例

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core MVC是如何獲取請(qǐng)求的參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ASP.NET Core MVC具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • .Net Core 多文件打包壓縮的實(shí)現(xiàn)代碼

    .Net Core 多文件打包壓縮的實(shí)現(xiàn)代碼

    最近項(xiàng)目需要實(shí)現(xiàn)多文件打包的功能,本文就詳細(xì)的介紹了.Net Core 多文件打包壓縮的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • LINQ to XML的編程基礎(chǔ)

    LINQ to XML的編程基礎(chǔ)

    本文介紹了LINQ to XML的編程基礎(chǔ),即System.Xml.Linq命名空間中的多個(gè)LINQ to XML類,這些類都是LINQ to XML的支持類,它們使得處理xml比使用其他的xml工具容易得多。在本文中,著重介紹的是XElement、XAttribute和XDocument。
    2010-02-02

最新評(píng)論

平原县| 湖州市| 广宁县| 阿拉善右旗| 保德县| 思南县| 泽库县| 房山区| 普兰店市| 江永县| 儋州市| 连州市| 天水市| 绥德县| 凤翔县| 嵩明县| 清原| 杭锦后旗| 凌海市| 长春市| 麟游县| 开封县| 六安市| 曲阳县| 泾阳县| 永和县| 马山县| 石首市| 盐城市| 台中县| 巫山县| 温州市| 商都县| 夏津县| 曲水县| 光山县| 蛟河市| 长沙市| 岳普湖县| 宾阳县| 洱源县|