微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SiteCore - 自定义属性未存储在会话中

如何解决SiteCore - 自定义属性未存储在会话中

我目前正在使用 Sitecore XP 8.2 开发 Web 应用程序。 Web 应用程序很旧,我被要求在其中实现一项新功能。作为此作业的一部分,我将 SiteCore 用户配置文件用于用户会话中的某些值。大多数情况下,一切正常,但有时,会话中的值会丢失。

var userProfile = Sitecore.Context.User?.Profile;
userProfile.SetCustomProperty("key","value");

为了能够工作,我必须注销并登录,然后才能正确保存并从会话中检索值。

我们在网络配置中使用自定义会话状态。

<sessionState mode="Custom" customProvider="mssql" cookieless="false" timeout="20">
      <providers>
        <add name="mssql" type="Sitecore.SessionProvider.sql.sqlSessionStateProvider,Sitecore.SessionProvider.sql" sessionType="private" connectionStringName="sessions" pollingInterval="2" compression="true" />
      </providers>
    </sessionState>

每当我们遇到这个特定问题时,所有自定义参数都会丢失。请注意,在出现此问题的环境中未使用负载平衡。

在使用负载均衡的环境中,问题更加复杂。注销并登录并不能解决问题,有时只会丢失部分自定义参数。这种行为非常令人惊讶,因为它通常与会话状态模式选择为 InProc 的应用程序相关联。

如果需要更多信息,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。