2013-03-05 4 views
1

Я использую InProc-режим SessionState, но мое приложение продолжает перезагружаться из-за утилизации пула приложений, поэтому я теряю сеанс зарегистрированных пользователей. Я хочу изменить, чтобы сохранить его в базе данных. Я отредактировал мой webconfig вот такSQLServer SessionState

<sessionState mode="SQLServer" timeout="20" allowCustomSqlDatabase="true" 
    sqlConnectionString="Data Source=Server;integrated security=True;Initial Catalog=SerialTracker;" 
    cookieless="false" /> 

Должен ли я создавать таблицы для состояния сеанса или новой базы данных? Мой хостинг является общим, поэтому я не могу получить доступ к консоли администратора или чему-либо еще.

ответ

2

Существует пошаговая инструкция. Доступно here. Кажется, вам понадобится запустить файл SQL с именем InstallSqlState.sql в базе данных.

+1

Между тем этот файл содержит примечание, что вы не должны его выполнять напрямую, но используйте aspnet_reqsql.exe, как описано здесь: https://msdn.microsoft.com/en-us/library/ms178586%28v=vs.100 % 29.aspx –

0

Да, вы должны использовать сценарий InstallSqlState.sql, что вы можете найти - в соответствии с машиной - в% System Drive Letter%/Microsoft .NET/Framework /% v ????%

. Пример: c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ InstallSqlState.sql

Считайте также, что скрипт создает базу данных AspState, которая по умолчанию не будет хранить данные сеанса: они будут храниться в tempdb Таблица.

Если это не хорошо для вас, есть способ сохранить данные внутри базы данных AspState, посмотрите here.

0

С 2015 года вам не нужно запускать скрипт, пакет Universal Provider использует Entity Framework для создания таблицы, в которой он нуждается.

Я менеджер NuGet/пакет для установки пакета "Microsoft ASP.NET Юниверсал провайдеров (в настоящее время v 2.0.0), который также устанавливает Core:

Install-Package Microsoft.AspNet.Providers

Вставляет некоторые (прокомментированные) элементы в ваш файл web.config. Я выполнил инструкции в комментарии, чтобы изменить «InProc» на «Custom» и настроить его с помощью строки подключения к моей базе данных. При первом запуске он создает таблицу «Сессии» в моей базе данных и сохраняет там данные сеанса.

Я не уверен, что бы он сделал, если у вас уже есть таблица «Сеансы» в вашем проекте.

ps - Я удалил теги 'profile', 'membership' и 'rolemanager', которые были вставлены, так как мне нужно хранить только файлы сеанса, а не остальные идентификаторы asp.

 Смежные вопросы

  • Нет связанных вопросов^_^