Я имею дело с приложением Sitecore, которое хранит некоторые «элементы» в корзине для пользователей, которые не аутентифицированы (я думаю, они не должны быть аутентифицированы), используя такой код:
this.Session["abc"]
Затем, как только пользователь попадает на страницу корзины и хочет продолжить, чем если он ждет слишком долго, более минуты, значение в сеансе теряется!
Вот мои web.config
соответствующие настройки:
Я на пределе возможностей и не знаю, что очищает мою сессию?
<sessionState mode="InProc" cookieless="false" timeout="20" sessionIDManagerType="Sitecore.FXM.SessionManagement.ConditionalSessionIdManager">
<providers>
<add name="mongo" type="Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider, Sitecore.SessionProvider.MongoDB" sessionType="Standard" connectionStringName="session" pollingInterval="2" compression="true" />
<add name="mssql" type="Sitecore.SessionProvider.Sql.SqlSessionStateProvider, Sitecore.SessionProvider.Sql" sessionType="Standard" connectionStringName="session" pollingInterval="2" compression="true" />
</providers>
</sessionState>
и
<authentication mode="None">
<forms name=".ASPXAUTH" cookieless="UseCookies" timeout="90" />
</authentication>
Я думаю, вам не нужно проходить аутентификацию, чтобы использовать сеанс? И да, я проверил код, убедившись, что ничто не аннулирует мою сессию.