Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Сведения о ASP.NET Core см. в разделе "Настройка приложения ASP.NET Core" для службы приложений Azure. Если приложение ASP.NET работает в пользовательском контейнере Windows или Linux, см. статью "Настройка пользовательского контейнера для службы приложений Azure".
Приложения ASP.NET необходимо развертывать в службе приложений Azure как скомпилированные двоичные файлы. Средство публикации Visual Studio создает решение, а затем развертывает скомпилированные двоичные файлы напрямую. Модуль развертывания Службы приложений развертывает репозиторий кода сначала, а затем компилирует двоичные файлы.
В этом руководстве представлены ключевые концепции и инструкции для разработчиков ASP.NET. Если эта статья является первым опытом работы со службой приложений Azure, сначала выполните развертывание веб-приложения ASP.NET и развертывание приложения ASP.NET с помощью базы данных SQL Azure в Azure .
Показать поддерживаемые версии среды выполнения .NET Framework
В службе приложений на экземплярах Windows уже установлены все поддерживаемые версии .NET Framework. Чтобы отобразить доступные для вас версии среды выполнения и пакета SDK для .NET Framework, перейдите к приложению на портале Azure. Выберите Средства разработки>расширенные средства. Нажмите кнопку "Перейти". В Kudu выберите консоль отладки для CMD или PowerShell. Выполните соответствующую команду в консоли на основе браузера:
Для версий среды выполнения CLR 4 (.NET Framework 4 и выше):
ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework"
Последняя версия .NET Framework может быть недоступна сразу.
Для версий среды выполнения CLR 2 (.NET Framework 3.5 и ниже):
ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework"
Если среда выполнения вашего приложения не поддерживается, его можно развернуть с помощью пользовательского контейнера.
Показать текущую версию среды выполнения .NET Framework
Выполните следующую команду в Cloud Shell:
az webapp config show --resource-group <resource-group-name> --name <app-name> --query netFrameworkVersion
Значение v4.0 означает, что используется последняя версия CLR 4 (.NET Framework 4.x). Значение v2.0 означает, что используется версия CLR 2 (.NET Framework 3.5).
Установить версию среды выполнения .NET Framework
По умолчанию служба приложений использует последнюю поддерживаемую версию .NET Framework для запуска вашего приложения ASP.NET. Чтобы запустить приложение с помощью .NET Framework 3.5, выполните следующую команду в Cloud Shell (версия 2.0 означает CLR 2):
az webapp config set --resource-group <resource-group-name> --name <app-name> --net-framework-version v2.0
Что происходит с устаревшими средами выполнения в службе приложений?
Устаревшие среды выполнения не рекомендуется поддерживать организацию или имеют значительные уязвимости. Соответственно, они удаляются из страниц создания и настройки на портале. Если устаревшая среда выполнения скрыта на портале, любое приложение, которое по-прежнему используется этой средой выполнения, продолжает выполняться.
Если вы хотите создать приложение с устаревшей версией среды выполнения, которая больше не отображается на портале, используйте Azure CLI, шаблон ARM или Bicep. Эти варианты развертывания позволяют создавать устаревшие среды выполнения, удаленные с портала, но по-прежнему поддерживаются.
Если среда выполнения полностью удалена из платформы службы приложений, владелец подписки Azure получает уведомление по электронной почте перед удалением.
Доступ к переменным среды
В службе приложений можно задать параметры приложения и строки подключения за пределами кода приложения. Затем вы можете получить к ним доступ в любом классе, используя стандартный шаблон ASP.NET:
using System.Configuration;
...
// Get an app setting
ConfigurationManager.AppSettings["MySetting"];
// Get a connection string
ConfigurationManager.ConnectionStrings["MyConnection"];
}
Если настроить параметр приложения с тем же именем в Службе приложений и в web.config, значение службы приложений имеет приоритет над значением web.config . Локальное web.config значение позволяет локально отлаживать приложение. Значение службы приложений позволяет запускать приложение в продукте с параметрами рабочей среды. Строки подключения работают точно так же. Таким образом, вы можете хранить секреты своего приложения вне репозитория кода и получать доступ к соответствующим значениям без изменения кода.
Примечание.
Рассмотрите более безопасные параметры подключения, которые не требуют секретов подключения вообще. Дополнительные сведения см. в статье "Безопасное подключение к службам и базам данных Azure" из службы приложений Azure.
Развертывание многопроектных решений
Если решение Visual Studio включает несколько проектов, процесс публикации Visual Studio включает выбор проекта для развертывания. При развертывании в модуле развертывания службы приложений Azure, например с помощью Git или с zip-развертыванием при включенной автоматизации сборки, модуль развертывания службы приложений Azure выбирает первый веб-сайт или проект веб-приложения, который он находит, как приложение службы. Чтобы указать, какую службу приложений проекта следует использовать, задайте параметр PROJECT приложения. Например, выполните следующую команду в Cloud Shell:
az webapp config appsettings set --resource-group <resource-group-name> --name <app-name> --settings PROJECT="<project-name>/<project-name>.csproj"
Получить подробную страницу исключений
Когда приложение ASP.NET создает исключение в отладчике Visual Studio, браузер отображает подробную страницу исключений. Универсальное сообщение об ошибке заменяет страницу в службе приложений. Чтобы отобразить подробную страницу исключений в Службе приложений, откройте файлweb.config и добавьте элемент <customErrors mode="Off"/> под элементом <system.web>. Например:
<system.web>
<customErrors mode="Off"/>
</system.web>
Повторно разверните ваше приложение с обновленным web.config. Теперь вы увидите ту же самую подробную страницу исключений.
Доступ к журналам диагностики
Вы можете добавлять диагностические сообщения в код приложения с помощью System.Diagnostics.Trace. Например:
Trace.TraceError("Record not found!"); // Error trace
Trace.TraceWarning("Possible data loss"); // Warning trace
Trace.TraceInformation("GET /Home/Index"); // Information trace
Чтобы получить доступ к журналам консоли, созданным из кода приложения в Службе приложений, включите ведение журнала диагностики, выполнив следующую команду в Cloud Shell:
az webapp log config --resource-group <resource-group-name> --name <app-name> --docker-container-logging filesystem --level Verbose
Возможные значения для --level: Error, Warning, Info и Verbose. Каждый последующий уровень включает предыдущий уровень. Например, Error включает только сообщения об ошибках.
Verbose включает все сообщения.
После включения ведения журнала диагностики выполните следующую команду, чтобы просмотреть поток журналов:
az webapp log tail --resource-group <resource-group-name> --name <app-name>
Если журналы консоли не отображаются немедленно, повторите попытку через 30 секунд.
Чтобы остановить потоковую передачу журналов в любое время, нажмите клавиши CTRL+C.