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 (将#修改为@)