получение простого членства для работы с лазурными веб-сайтами

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

UserProfile
webpages_membership
webpages_OAuthMembership
webpages_Roles
webpages_UsersInRoles

как должна выглядеть строка подключения для создания этого подключения.

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

кто-нибудь делал это?

хорошо, мне нужно было убедиться, что имя строки подключения совпадает с именем, которое передается в метод WebSecurity.InitializeDatabaseConnection файла Filters > InitializeSimpleMembershipAttribute.cs, по умолчанию это DefaultConnection, поэтому оно должно соответствовать строке подключения, которую вы ему даете. Строка подключения базы данных Azure.

так что теперь у меня есть f5'd из VS, и таблицы создаются, я даже локально проверил свой вход в facebook, и он работает.

но... когда я развертываю приложение на лазурных веб-сайтах, время ожидания сайта с ошибкой 504, как будто он не может подключиться к sql, это происходит со мной как для базы данных sql в Azure, так и для виртуального сервер, на котором был установлен sql и включен TCP-порт 1433 - как я уже сказал, это работает локально, когда у меня заканчивается VS, а не в лазурном облаке.

я получаю Ошибка.

Произошла ошибка при обработке вашего запроса.

fiddler показывает это как тайм-аут шлюза с ошибкой 504. У кого-нибудь есть сайт mvc 4, работающий на Azure с простым API-интерфейсом для входа в систему?


person Biz Brown    schedule 24.11.2012    source источник
comment
+1 за описание того, как это работает локально   -  person user    schedule 21.10.2013


Ответы (2)


хорошо, есть 2 места, где необходимо изменить строку подключения: одно из InitializeSimpleMembershipAttribute.cs и одно в файле AccountModels.cs public UsersContext() : base("DefaultConnection") { } замените DefaultConnection на имя вашей строки подключения

person Biz Brown    schedule 26.11.2012
comment
Спасибо Биз! Я провел в недоумении почти час, пока не осознал эту маленькую неудачу. - person David East; 27.10.2013

Есть две вещи, которые вам нужно сделать. Один из них — получить строку подключения из Azure. Перейдите на панель мониторинга Azure для своей базы данных. Вы должны увидеть ссылку «Показать строки подключения». Щелкните ее и скопируйте строку ADO.NET.

Вам также необходимо разрешить доступ к базе данных с IP-адреса вашей тестовой машины. На панели инструментов есть еще одна ссылка под названием «Управление разрешенными IP-адресами». Нажмите на нее и добавьте IP-адрес.

Я просто заменил строку DefaultConnection в Web.config на ту, которую получил из Azure, и все заработало. Он работает даже на моей тестовой машине, пока я получаю IP-адрес на портале.

person Bill Donahue    schedule 16.05.2013