Конечно, можно использовать вашу существующую базу данных SQL Azure для состояния сеанса.Я делаю именно это (и по той же причине).Стандартные сценарии не работают, так как они не совместимы с SQL Azure.Где-то есть несколько обновленных скриптов (я не могу вспомнить, где, но у меня будет Google), которые я использовал для настройки БД.
Хотя это не код в первую очередь.Возможно, вы сможете выполнить обратный инжиниринг схемы, но при этом задействовано несколько хранимых процедур.
Обратите внимание, что вам также следует подумать о приведении в порядок сеансов с истекшим сроком действия.Есть хранимая процедура, которую нужно периодически запускать (я думаю, DeleteExpiredSessions), и типичная рекомендация - запускать ее из рабочей роли.Но вы не захотите развертывать рабочую роль с единственной целью периодического запуска хранимой процедуры!
Редактировать: Обнаружен скрипт на этой странице .Обратите внимание, что есть проблема со сценарием, опубликованным в основной статье, но есть модифицированный сценарий ниже по странице в комментарии от Питера МакЭвоя.
Некоторые рекомендуют использовать поставщика состояний сеанса хранилища таблиц Azure в предпочтении иесли бы я не использовал SQL Azure, я был бы склонен согласиться.Но у меня были проблемы с провайдером Azure (в частности, в среде разработчиков), но у меня вообще не было проблем с использованием состояния сеанса SQL Server после развертывания обновленных сценариев.
Редактировать 2: я сделал дальшепрогресс, и я напишу это для своего блога и опубликую ссылку здесь.
Основные моменты, хотя:
- Запустите скрипт InstallSqlState.SQL (модифицированный для Azure)для пустой базы данных
- Используйте EF Power Tools для обратного проектирования таблиц состояний ASP в EF Code-First
- Интегрируйте классы обратного проектирования в вашу модель и контекст
- Измените сопоставление для таблицы ASPStateTempSessions, чтобы использовать тип столбца Image
- Создайте новый сценарий SQL из InstallSqlState.SQL, который просто создает хранимые процессы
- Измените сохраненные процессы, чтобы всегда указывать значения по умолчанию
- Добавьте некоторый код для запуска сценария SQL в метод Seed () Initializer
Я думаю, что это все, но я дамболее полное описание в моем блоге, когда я его написал.
Edit 3:
Часть I моей статьи теперь в моем блоге .Часть II скоро (но время спать).
Правка 4:
Часть II также написана, сейчас.