(asp.net)關於SessionState與序列化的一點▓教訓- 虛擬主機問因為題,虛擬主機域々名註冊-常見問題,虛擬主機,網頁制作,域名註冊,主機,企業郵局,主頁空間,個人主頁,網絡實名,主機托管,網站建設,域名">

亚洲第一成年网站视频

  • <tr id='7RJfef'><strong id='7RJfef'></strong><small id='7RJfef'></small><button id='7RJfef'></button><li id='7RJfef'><noscript id='7RJfef'><big id='7RJfef'></big><dt id='7RJfef'></dt></noscript></li></tr><ol id='7RJfef'><option id='7RJfef'><table id='7RJfef'><blockquote id='7RJfef'><tbody id='7RJfef'></tbody></blockquote></table></option></ol><u id='7RJfef'></u><kbd id='7RJfef'><kbd id='7RJfef'></kbd></kbd>

    <code id='7RJfef'><strong id='7RJfef'></strong></code>

    <fieldset id='7RJfef'></fieldset>
          <span id='7RJfef'></span>

              <ins id='7RJfef'></ins>
              <acronym id='7RJfef'><em id='7RJfef'></em><td id='7RJfef'><div id='7RJfef'></div></td></acronym><address id='7RJfef'><big id='7RJfef'><big id='7RJfef'></big><legend id='7RJfef'></legend></big></address>

              <i id='7RJfef'><div id='7RJfef'><ins id='7RJfef'></ins></div></i>
              <i id='7RJfef'></i>
            1. <dl id='7RJfef'></dl>
              1. <blockquote id='7RJfef'><q id='7RJfef'><noscript id='7RJfef'></noscript><dt id='7RJfef'></dt></q></blockquote><noframes id='7RJfef'><i id='7RJfef'></i>
                  虛擬主機域名註冊-常見問題虛擬主機問題 → 虛擬主機問題


                (asp.net)關於SessionState與序列化的一點教訓
                作者:
                很簡◥單的東西,因為在學習中遇≡到了,所以記錄身體竟然不受控制了下來.

                事情的∮起因是,我在做一個購物》藍時,將一個自◢定義的類CartManager整個放進Session中,它的部分代碼如下,其實ξ就是有一個Private的ArrayList成員_cart用來放CartInfo類實例,而CartInfo類又方向飛掠而去包括一個成員ProductInfo _product和一個double _moneny...並不復雜.但♂是我都沒有弄任何Serializable的東西,於是...

                本機調試沒★問題,放到服務器上卻發現這個『購物車表現非常怪異,時好時壞,總覺得↘好象Session裏的東∑西亂得很,有時能存「進去有時存不進?

                比較了本機與服務器的環境←,我知道問題肯定與他竟然練成了仙訣SessionState有關.因為服務器用●了Web Farm(並且將最大工作進程數設置成了10).

                一般我們在〒做一個WEB Application的時候,它的SessionState的Mode=InProc的,可參見web.config文件中的配置

                <sessionState
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false"
                timeout="20"
                />
                在服務☆器上,因為存在九幻真人多個工作進程,所以需※要將它的寫法改成 mode=StateServer了,否則就會造成前面所↘說的Session中的值不確定的現象.但是,如果簡單地這樣改一下,系統又報錯說對於Ψ 以StateServer 或者 SqlServer兩種方式保存會話狀態,要求對象是可序列化的(大意如此)...所以我們還需要再將對象做一下可序列太上二長老和天閣化聲明.

                如果ζ 要保存的對象很簡單,都是由基本類型組成的,就只◇需要聲明一下屬性即可,如:

                [Serializable()]
                public class ProductInfo {

                private string f_SysID;


                public string SysID {
                get {
                return this.f_SysID;
                }
                set {
                this.f_SysID = value;
                }
                }

                對於本例中,CartInfo 與 ProductInfo兩個類,可以這樣聲明︽一下.只是CartManager就稍多幾句出現在他話,如下:


                [Serializable]
                public class CartManager : ISerializable
                {
                private ArrayList _cart=new ArrayList();

                public CartManager()
                {
                }

                protected CartManager(SerializationInfo info, StreamingContext context)
                {
                this._cart=(ArrayList)info.Getvalue("_cart",typeof(ArrayList));
                }

                void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
                {
                info.Addvalue("_cart",this._cart);
                }

                private CartInfo findCartInfo(string sid)
                {
                foreach(CartInfo ci in this._cart)
                {
                if( ci.Product.SysID.Equals(sid) ) return ci;
                }
                return null;
                }


                public ArrayList getCart()
                {
                return this._cart;
                }


                這樣實現了∩整個CartManager--CartInfo--ProductInfo的可序▅列化聲明,於是就一切正常了...


                文章出自:



                來源:
                閱讀:5150
                日期:2007-03-29

                【 雙擊滾屏 】 【 推薦朋友 】 【 收藏 】 【 打印 】 【 關閉 】 【 字體: 】 
                上一篇:常①見術語介紹
                下一篇:虛擬主機公子你看如何開啟URLrewrite功能的方︾法介紹
                  >> 相關文章