<dfn id="bq4sp"><code id="bq4sp"><dl id="bq4sp"></dl></code></dfn>
<menuitem id="bq4sp"><mark id="bq4sp"></mark></menuitem>

<menuitem id="bq4sp"></menuitem>
<abbr id="bq4sp"><button id="bq4sp"><pre id="bq4sp"></pre></button></abbr>
  • <strike id="bq4sp"><rt id="bq4sp"></rt></strike>
  • <nobr id="bq4sp"></nobr>
  • 国产亚洲tv在线观看,五月综合婷婷开心综合婷婷,嫩草院一区二区乱码,国产精品18久久久久久麻辣 ,国产精品剧情亚洲二区,国产美熟女乱又伦AV果冻传媒,国产福利高颜值在线观看,无码人妻丰满熟妇啪啪网不卡

    (asp.net)關于SessionState與序列化的一點教訓

    很簡單的東西,因為在學習中遇到了,所以記錄下來.

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

    本機調(diào)試沒問題,放到服務器上卻發(fā)現(xiàn)這個購物車表現(xiàn)非常怪異,時好時壞,總覺得好象Session里的東西亂得很,有時能存進去有時存不進?

    比較了本機與服務器的環(huán)境,我知道問題肯定與SessionState有關.因為服務器用了Web Farm(并且將最大工作進程數(shù)設置成了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中的值不確定的現(xiàn)象.但是,如果簡單地這樣改一下,系統(tǒng)又報錯說對于以StateServer 或者 SqlServer兩種方式保存會話狀態(tài),要求對象是可序列化的(大意如此)...所以我們還需要再將對象做一下可序列化聲明.

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

    [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;
    }


    這樣實現(xiàn)了整個CartManager--CartInfo--ProductInfo的可序列化聲明,于是就一切正常了...


    文章出自:
    http://www.cnblogs.com/sharetop/archive/2005/10/08/250286.html


    編輯:三五互聯(lián)
    日期:2007-03-29

    收藏 】 【 打印 】   
    您可對文檔進行評分喲~

    勾選遇到的問題提交給我們,收到反饋后保證及時修正更新!

    提交反饋需要先登陸會員帳號

    上一篇:常見術語介紹
    下一篇:虛擬主機開啟URLrewrite功能的方法介紹
    若文檔內(nèi)容對您沒有幫助,不能解決問題? 您還可以 咨詢在線客服提交工單搜索常見問題 ,我們將竭誠為您服務。
      >> 相關文章
     
    分享至:
    主站蜘蛛池模板: 视频一区视频二区制服丝袜| 九九热在线免费视频精品| 小雪被老外黑人撑破了视频| 亚洲av永久无码精品天堂久久| 成在线人视频免费视频| 亚洲色最新高清AV网站| 无码专区 人妻系列 在线| 中国国产免费毛卡片| 人妻丝袜AV中文系列先锋影音| 亚洲国产成人久久77| 国产在线高清视频无码| 一区二区在线观看成人午夜| 国产女人18毛片水真多1| 国产精品久久欧美久久一区| 办公室强奷漂亮少妇视频| 国产美女遭强高潮免费| av色蜜桃一区二区三区| 精品一区精品二区制服| 国产jjizz女人多水喷水| 福利一区二区不卡国产| 成人3d动漫一区二区三区| 久久天天躁狠狠躁夜夜婷 | 乱人伦人妻中文字幕无码久久网| 国产一区二区亚洲一区二区三区| 中文字幕亚洲综合久久蜜桃| 欧美黑人又粗又大久久久| 99国产精品自在自在久久| 国产女同疯狂作爱系列| 中文字幕亚洲无线码在线| 高清自拍亚洲精品二区| 日韩欧美亚洲综合久久| 亚洲精品一区国产欧美| 四虎成人精品无码| 999精品色在线播放| 井冈山市| 91中文字幕一区二区| 狠狠躁日日躁夜夜躁欧美老妇| 蜜芽亚洲AV无码精品国产午夜| 亚洲电影天堂av2017| 少妇人妻无码专区在线视频| 99精品久久免费精品久久|