开发者

strange session problem

I have this field in my session class:

public bool IsCartRecentlyUpdated
{
    get
    {
        if (this.session["IsCartRecentlyUpdated"] != null)
        {
            return (bool)this.session["IsCartRecentlyUpdated"];
        }
        else
        {
            this.session["IsCartRecentlyUpdated"] = false;
            return (bool)this.session["IsCartRecentlyUpdated"];
        }
    }
    set
    {
        this.session["IsCartRecentlyUpdated"] = value;
    }
}

Whenever a user adds a product to the cart I put this value on true:

  public void AddToCart(Product product, int quantity)
    {
        IsCartRecentlyUpdated = true;
     //other code for updating the cart
     }

Adding a product to the cart does a postback so I can show a message (ëg: Product added succesfully) in Page_Load of the General Master page where the shopping cart is located, when a product has just been added to the cart:

 protected void Page_Load(object sender, EventArgs e)
{
    if (this.sessionsUtil.IsCartRecentlyUpdated)
    {
        this.lblCartWarning.Text = (s开发者_StackOverflow社区tring)GetLocalResourceObject("CartWarning");
        imgCardLogos.Visible = false;
    }
    else
    {
        this.lblCartWarning.Text = String.Empty;
        imgCardLogos.Visible = true;
    }
//other code
//put it back to false to not show the message each time the page is loaded
this.sessionsUtil.IsCartRecentlyUpdated = false;
}

Well this code works great locally but on the server it does not show the message after adding the product to the cart but on the second page loading... (I guess that on the server somehow the page is loading before the session var is updated - extremely strange)

Do you know why? I do not see any problem in the code...


Strange issues like this might be easier to solve using IIS express http://weblogs.asp.net/scottgu/archive/2011/01/03/vs-2010-sp1-beta-and-iis-developer-express.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜