Вход в членство в ASP.NET MVC работает локально, а не в службе приложений Azure. - PullRequest
0 голосов
/ 06 мая 2019

Мое приложение ASP.NET MVC развернуто в службе приложений Azure и работало до сегодняшнего дня. Это не позволит мне войти через приложение, которое использует членство в ASPNET. Если я запускаю приложение в Visual Studio локально, указывая на производственную Azure SQL DB, это работает. Развернутое приложение может нормально читать данные, но, когда оно пытается войти в систему, оно кажется неактивным во время развертывания в Azure. Я не изменил ни одного кода, поэтому не знаю, почему он перестал работать на Azure, когда это было. Он по-прежнему позволяет читать данные, отображает элементы на странице просмотра. Я видел эту ошибку, когда я отключил пользовательские ошибки:

A network-related or instance-specific error occurred while 
establishing a connection to SQL Server. The server was not found 
or was not accessible. Verify that the instance name is correct and 
that SQL Server is configured to allow remote connections. (provider: 
SQL Network Interfaces, error: 26 - Error Locating Server/Instance 
Specified)

Я проверил эти вопросы, но, похоже, они не помогли:

Брандмауэр SQL Azure

Сетевой интерфейс Azure

пароли Azure

Хешированные пароли

логин работает локально не на лазурном

Лазурная отладка

войти в систему зарегистрироваться локально не на Azure

UPDATE Я использовал удаленную отладку, и при просмотре ролей с помощью этой строки происходит сбой в бритве:

if (User.IsInRole("Administrator")) {

1 Ответ

0 голосов
/ 06 мая 2019

Я не знаю, почему это работало какое-то время, а затем остановилось, но это то, что я сделал, чтобы это исправить.Он пытался соединиться со старым соединением базы данных членства LocalSqlConnection из файла machine.config.Я видел, как он создавал aspnetdb.mdf в папке AppData, когда работал в Visual Studio, но я использую ASP.NET Identity.Мне пришлось изменить свой web.config, как это, чтобы он не использовал локальную базу данных:

Закомментируйте это:

<!--
<membership>
    <providers>
    ...
    </providers>
</membership>

<profile>
    <providers>
     ...
    </providers>
</profile>

<roleManager>
    <providers>
    ..
    </providers>
</roleManager>
-->

Добавьте это:

<modules>
     <remove name="RoleManager"/>
</modules>

Добавитьэто в <connectionStrings>

<add name="LocalSqlServer" connectionString="same as application database connectionstring"...

Ответ от @clayRay в этом вопросе дал мне большую часть ответа:

Как мне прекратить использовать ASPNETDB.MDF в LocalDB?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...