Как переместить состояние сеанса из InProc в SQLServer

Я сейчас пользуюсь InProc режим состояния сеанса в моем.net веб-проекте. Я хочу переместить это из InProc в SQLServer состояние сеанса, так как я собираюсь использовать балансировщик нагрузки. Какие шаги мне нужно выполнить?

В моем коде C# я использую в качестве сессий, как показано ниже.

    Session["MyValue"] = "Test" // To set
    string value = Session["MyValue"] //To read

Итак, какие изменения мне нужно сделать в исходном коде? Я не могу использовать тот же код выше при использовании SQLServer состояние сеанса?

2 ответа

Следуйте этой документации. https://msdn.microsoft.com/en-us/library/ms178586.aspx

Вам необходимо установить базу данных состояний сеанса с помощью инструмента Aspnet_regsql.exe и внести изменения в ваш файл web.config.

<configuration>
  <system.web>
        <sessionState mode="SQLServer"
             sqlConnectionString="Integrated Security=SSPI;data 
             source=SampleSqlServer;" />
  </system.web>
</configuration>

Вы можете обратиться к следующей статье, надеюсь, это поможет вам...

https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/xdb/session_state/walkthrough_configure_a_shared_session_state_database_using_the_sql_server_provider

Вы действительно должны внимательно прочитать через уже предоставленные статьи. Они успешно объяснили ваш сценарий нескольким людям в течение многих лет. Нет необходимости вносить изменения в ваш код, если только вы не сохраняете несериализуемые данные в своем сеансе. Вам также следует убедиться, что вы не храните большие объемы данных в своем состоянии сеанса, так как состояние сеанса SQL-Server - будучи более надежным, чем inproc - медленнее.

Еще одна статья для вашей справки: https://support.microsoft.com/en-us/kb/317604

Другие вопросы по тегам