Как настроить новых поставщиков членства и сеансов для работы в Windows Azure?Использование MVC3 и веб-роли - PullRequest
3 голосов
/ 18 сентября 2011

Я читал о провайдерах нового членства и сеансов, и информация в этой статье о том, что простое изменение строки подключения, при которой база данных будет создаваться магически в моей базе данных SQL Azure.

Итак, я сначала изменил свое соединение на:

<add name="Project" connectionString="Server=tcp:xxxxxxxx.database.windows.net,xxxx;Database=xxxxx;User ID=xxxxxxxxxxx;Password=xxxxxxxxxxx;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />

Когда я попытался отладить свое приложение с помощью эмулятора, я получил ошибку: Для EFProviders требуются MultipleActiveResultSets = True для строк подключения System.Data.SqlClient.

Я исследовал эту ошибку и понял, что она связана с Entity Framework. Я попытался создать строку подключения Entity Framework безуспешно. Кроме того, я где-то читал, что SQL Azure не поддерживает MultipleActiveResultSets.

Итак, у меня есть 2 вопроса:

  1. Правда ли, что если я запущу приложение и зарегистрирую любого пользователя через интерфейс веб-сайта, таблицы, представления и процедуры Membership и Session будут волшебным образом встроены в мою базу данных SQL Azure?
  2. Чего мне не хватает для запуска моего приложения?

Подробно: я не добавил ни одного нового элемента в папку Models. Это всего лишь класс AccountModels, так как он генерируется из шаблона MVC3.

1 Ответ

0 голосов
/ 19 сентября 2011

К счастью, теперь у меня есть 2 ответа:

  1. Да, это правда и очень просто!
  2. Ошибка, которую я сделал в первый раз, это попытка поместить MultipleActiveResultsSet в качестве нового атрибута в строке connectionString Код должен быть таким:

    <add name="Project" connectionString="Server=tcp:xxxxxxxx.database.windows.net,xxxx;Database=xxxxx;User     ID=xxxxxxxxxxx;Password=xxxxxxxxxxx;Trusted_Connection=False;Encrypt=True;**MultipleActiveResultSets=True**" providerName="System.Data.SqlClient" />
    

Отредактированный

Теперь я нашел другой способ сделать это с помощью AppFabric Caching for Session State. Просто следуйте этому уроку .

...