当前位置:  开发笔记 > 编程语言 > 正文

为什么我的httpsessionstate失去了价值?

如何解决《为什么我的httpsessionstate失去了价值?》经验,为你挑选了1个好方法。

我正在处理Sitecore应用程序,它将一些"项目"存储到购物车中,供未经过身份验证的用户(我猜他们不应该这样)使用如下代码:

 this.Session["abc"] 

然后,一旦用户到达购物车页面并希望继续进行,而不是等待时间超过一分钟而不是会话中的价值丢失!

这是我的web.config相关设置:

我在这里的绳索结束,不知道什么是清洁我的会话?


  
    
    
  


  

我想你不需要通过身份验证来使用会话?是的,我确实检查了代码,确保没有任何东西使我的会话无效.



1> Marek Musiel..:

当您没有VisitorIdentification布局时,通常会发生1分钟会话超时的问题.Sitecore将每个新访客视为潜在的爬行机器人,如果没有必要,尽量不要使用20分钟的会话.

确保你VisitorIdentification的布局.您可以像以下那样为Web窗体添加它:

<%@ Import Namespace="Sitecore.Analytics" %>

对于那样的MVC:

@using Sitecore.Mvc.Analytics.Extensions
@Html.Sitecore().VisitorIdentification()

如果您的Visual Studio仍然抱怨它无法VisitorIdentificationSitecore.Web.UI.WebControls命名空间中找到类型,请检查是否Sitecore.Analytics从您的Web项目中引用了以及是否在以下Sitecore.Analytics位置注册:web.config



编辑:

考虑为机器人设置数千个会话,并且每个会话在RAM使用方面都非常重要.如果它们全部保留20分钟,它们可以轻松地杀死服务器.这就是Sitecore为每个新用户更改会话超时并将其设置为1分钟的原因.

如果Sitecore布局配置正确并且VisitorIdentification包含,您的浏览器将自动执行对您的服务器的另一个请求,您的会话超时将扩展到默认设置web.config(例如20分钟)

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有