Сеанс и файлы cookie не работают в облачной среде Windows Azure - PullRequest
1 голос
/ 29 июля 2011

Я перенес веб-сайт в облако, которое отлично работает на моем локальном компьютере с использованием эмуляторов вычислений и хранения.

Однако, когда я помещаю его в облако Windows Azure, сеанс и файлы cookie не работают нормально.,Часть файла web.config приведена ниже.

<sessionState timeout="30"
              mode="SQLServer"
              sqlConnectionString="Server=sxxxxxxxxx.database.windows.net;User ID=xxxxx@sxxxxxxxxx;Password=MY_PASSWORD"
              cookieless="false"
              allowCustomSqlDatabase="true" >
</sessionState>

Может кто-нибудь, пожалуйста, руководство, чтобы исправить то же самое?Все остальные вещи на сайте в значительной степени работают нормально.

Ниже приведена дополнительная информация:


Подводя итог, я сделал следующее.

  1. Успешно перенесен веб-сайт в Windows Azure

  2. Созданы необходимые строки подключения для успешного доступа к базе данных.

  3. Протестировано веб-сайтна локальном компьютере с использованием Compute Emulator и Storage Emulator.

  4. Когда я опубликовал сайт и загрузил пакет File и файл конфигурации, все в целом работало нормально.НО

для страниц, которые использовали сеанс / куки.Все статические страницы работали хорошо.Все права доступа к базе данных были правильными.

  1. Затем я написал код для правильной настройки сеанса.

ПОЛУЧИЛ ОШИБКИ И ВСЕ РАБОТА НА САЙТЕ ОСТАНОВЛЕНА1041 *

  1. Создана необходимая база данных и таблицы (база данных ASPSTATE и соответствующие ей таблицы).Все прошло хорошо.

http://blogs.msdn.com/b/sqlazure/archive/2010/08/04/10046103.aspx

Протестировал сайт ... По-прежнему получаю сообщение об ошибке на локальном и облачном хранилище ... как упоминалось ранее в этом посте.

Не могли бы вы помочь мне исправить это.

Ответы [ 2 ]

1 голос
/ 05 августа 2011

. Эй, ребята,

Спасибо за ответы.Я немного изменил состояние сеанса в web.config, и оно выглядит так:

    <sessionState cookieless="false" mode="SQLServer" 
                  sqlConnectionString="data source=serverName.database.windows.net;user id=UserID@serverName;password=password;Trusted_Connection=False;Encrypt=True;"
                  timeout="20"
                  allowCustomSqlDatabase="true">
    </sessionState>

Теперь все работает нормально.

С уважением, Sandeep

0 голосов
/ 29 июля 2011

Я полагаю, что поставщик состояния сеанса SQL Server не выдает исключение, просто не сохраняет состояние?

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

Вы делаете что-то необычное с доменными именами?Мне просто интересно, есть ли несоответствие домена между файлами cookie и URL-адресом, через который вы заходите на сайт, то есть файлы cookie не отображаются при последующих запросах.

Конечно, это также возможночто ограничение безопасности не позволяет вашему браузеру принимать файлы cookie, но вы, вероятно, заметили это как проблему до сих пор!

...