解決php中session不穩(wěn)定的問題-創(chuàng)新互聯(lián)

小編給大家分享一下解決php中session不穩(wěn)定的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:成都葡萄架成都網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。

php session不穩(wěn)定的解決辦法:首先在配置文件中設(shè)置sessionState節(jié)點;然后把類設(shè)為可序列化的類;最后啟動“asp.net state service”即可。

解決php中session不穩(wěn)定的問題

解決session不穩(wěn)定的問題

公司的系統(tǒng)一直以來都會出現(xiàn)session突然丟失的情況,昨天想了一個法子,但行不通,今天上午通過搜索資料解決了它。

昨天我是想通過新建一個數(shù)據(jù)表來存儲用戶登錄的信息,但是,要標(biāo)記一個用戶的時候,想用IP來標(biāo)記,覺得不太現(xiàn)實,因為有時候?qū)ν饩W(wǎng)的IP地址是一樣的,于是想用MAC地址來解決,對過sendarp的方法可以得到指定IP的MAC,但是這也僅僅適用于局域網(wǎng),非局域網(wǎng)是無法實現(xiàn)的,于是這種思路到此宣告破產(chǎn)。除非在客戶端通過js去獲取再發(fā)送到服務(wù)端,但考慮到不用客戶端cookiess的話每次都要查很麻煩,于是放棄。

今天在網(wǎng)上發(fā)現(xiàn),可以在配置文件中設(shè)置sessionState節(jié)點:

   <sessionState mode="Off|InProc|StateServer|SQLServer"
              cookieless="true|false"
              timeout="number of minutes"
              stateConnectionString="tcpip=server:port"
              sqlConnectionString="sql connection string"
              stateNetworkTimeout="number of seconds"/>

必須有的屬性是

屬性      選項             描述 
mode                       設(shè)置將Session信息存儲到哪里 
            Off              設(shè)置為不使用Session功能 
            InProc          設(shè)置為將Session存儲在進(jìn)程內(nèi),就是ASP中的存儲方式,這是默認(rèn)值。 
            StateServer  設(shè)置為將Session存儲在獨立的狀態(tài)服務(wù)中。 
            SQLServer    設(shè)置將Session存儲在SQL Server中。

可選的屬性是:

屬性             選項                             描述 
cookieless                                        設(shè)置客戶端的Session信息存儲到哪里 
                   ture                             使用Cookieless模式 
                   false                             使用Cookie模式,這是默認(rèn)值。 
                   timeout                        設(shè)置經(jīng)過多少分鐘后服務(wù)器自動放棄Session信息。默認(rèn)為20分鐘 
                   stateConnectionString    設(shè)置將Session信息存儲在狀態(tài)服務(wù)中時使用的服務(wù)器名稱和端口號,例如:"tcpip=127.0.0.1:42424”。當(dāng)mode的值是StateServer是,這個屬性是必需的。 
        sqlConnectionString        設(shè)置與SQL Server連接時的連接字符串。例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。當(dāng)mode的值是SQLServer時,這個屬性是必需的。 
        stateNetworkTimeout    設(shè)置當(dāng)使用StateServer模式存儲Session狀態(tài)時,經(jīng)過多少秒空閑后,斷開Web服務(wù)器與存儲狀態(tài)信息的服務(wù)器的TCP/IP連接的。默認(rèn)值是10秒鐘。

然后,啟動asp.net state service。

注意要把類設(shè)為可序列化的類!才可以加到session中。

      System.Web.SessionState.HttpSessionState session = HttpContext.Current.Session;
      session.Add("user", obj);
      HttpContext.Current.Session.Add("user", obj);
      if (obj.USER_DIST_ID == "0000")
      {
             HttpContext.Current.Session.Add("sDistID", obj.USER_DIST_ID);
       }
      System.Web.Security.FormsAuthentication.SetAuthCookie(obj.USER_ID , false);
     。。。

以上是解決php中session不穩(wěn)定的問題的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

分享題目:解決php中session不穩(wěn)定的問題-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article34/eiope.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、建站公司Google、品牌網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化