Как переместить состояние сеанса из 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>
Вы можете обратиться к следующей статье, надеюсь, это поможет вам...
Вы действительно должны внимательно прочитать через уже предоставленные статьи. Они успешно объяснили ваш сценарий нескольким людям в течение многих лет. Нет необходимости вносить изменения в ваш код, если только вы не сохраняете несериализуемые данные в своем сеансе. Вам также следует убедиться, что вы не храните большие объемы данных в своем состоянии сеанса, так как состояние сеанса SQL-Server - будучи более надежным, чем inproc - медленнее.
Еще одна статья для вашей справки: https://support.microsoft.com/en-us/kb/317604