c# - ASP.NET 5 Произошла ошибка при запуске приложения




iis-7.5 asp.net-core (3)

После публикации веб-приложения ASP.NET я пытаюсь разместить веб-сайт на своем локальном сервере. Однако, когда я запускаю его, он дает мне эту ошибку в моем браузере:

К сожалению. 500 Внутренняя ошибка сервера Ошибка при запуске приложения.

Как я могу отладить эту ошибку? Веб-сайт работает (как в настройках Debug, так и Release) при запуске с использованием IISExpress и «web» в Visual Studio.

Я использую среду разработки, и я уже указал app.UseDeveloperExceptionPage(); ,

Я выполнил инструкции для развертывания в IIS.

Я также попробовал предлагаемое здесь предложение (переиздание с выбранным «Удалить все существующие файлы до публикации»). (У ОП есть несколько другая ошибка, поэтому я отправляю новый вопрос.)

Я искал часы в Интернете, но, похоже, не так много информации об этом. Есть идеи?

Я нахожусь в Windows 7, используя ASP.NET 5 RC1.


Эта ошибка также возникает, когда вы пытаетесь подключиться к базе данных при запуске (например, для посева), и она терпит неудачу на сервере развертывания из-за неадекватных преваливаний на сервере базы данных.


Эта ошибка возникает при нескольких условиях. В моей ситуации я правильно не установил строку подключения к базе данных. Я исправил его в Visual Studio 2017 следующим образом:

1) Щелкните правой кнопкой мыши проект, выберите «Опубликовать», откройте страницу «Публикация» в основной области.

2) Выберите вкладку «Опубликовать» слева

3) В разделе «Сводка» есть ссылка «Настройки ...». Нажмите на нее. Откроется диалоговое окно «Опубликовать».

4) Нажмите вкладку «Настройки» слева.

5) Разверните параметры публикации файлов, установите флажок «Удалить дополнительные файлы в пункте назначения»

6) Разверните «Базы данных», установите флажок «Использовать эту строку соединения во время выполнения» (это было предварительно заполнено моей строкой подключения Azure SQL на основе того, как я первоначально настроил параметры публикации)

7) Разверните Entity Framework Migrations, установите флажок «Применить эту миграцию при публикации» (опять же, строка подключения была предварительно заполнена)

8) Нажмите «Сохранить».

9) Опубликовать

10) Перекрестите пальцы


Проблема: скорее всего, эта ошибка вызвана недостаточными привилегиями для Application Pool Identities . Выяснить:

Перейдите в раздел « Диспетчер задач Windows» и в разделе « Информация» / «Процессы» (в зависимости от ОС Windows) найдите w3wp.exe и под User name найдите приложение ( <App_Pool_Name> обычно DefaultAppPool ), работающий там как IIS Worker Process . Если ваше приложение не указано в списке, приложение имеет недостаточные права на доступ к вашей базе данных.

Чтобы исправить это: выполните следующие действия и дайте полный доступ к вашему приложению:

Перейдите на свою студию управления SQL Server и войдите в систему как администратор. Откройте Security > Logins > щелкните правой кнопкой мыши Logins и добавьте New Login :

Под руководством генерала:

  • для имени Login Name: введите IIS APPPOOL\<App_Pool_Name> обычно DefaultAppPool

  • для Default Database: по Default Database: укажите <Your_App_Database>

Под пользовательским сопоставлением :

  • на поле Users mapped to this login:

    - Установите флажок в поле Карта в <Your_App_Database>

    -Пользователь введите IIS APPPOOL\<App_Pool_Name> обычно DefaultAppPool

    -После схемы по умолчанию Введите dbo

  • в поле <Your_App_Database> Database role membership for: <Your_App_Database>

    - Отметьте следующие поля: db_datareader , db_datawriter и public

Нажмите ОК.

Теперь попробуйте получить доступ к своему приложению, и он должен работать !!!





dnx