.NET Core — это кроссплатформенное программное обеспечение от Microsoft для разработки настольных, мобильных и веб-приложений. Актуальные версии программного обеспечения, доступного на ASP.NET-хостинге, вы можете найти в статье Какое ПО установлено на серверах Рег.ру.
Обратите внимание, что .NET Core недоступно на Hosting Linux.
Настройка хостинга для запуска приложения
Для работы сайта с приложениями .NET Core в его корневой директории должен быть расположен конфигурационный файл web.config. В этом файле в секции handlers укажите модуль “AspNetCoreModule”
, а в параметре arguments укажите исполняемую библиотеку для вашего приложения.
Пример конфигурационного файла:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\WebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
Как исправить ошибку при запуске приложения
С выходом модуля AspNetCoreModuleV2 было добавлено ограничение — поддерживается только одно приложение на один пул приложений, подробнее на официальном сайте Microsoft.
Так как на одном пуле приложения могут работать несколько приложений, при запуске .NETCore вы можете увидеть ошибку HTTP Error 500.0 — ANCM In-Process Handler Load Failure.
Существует три варианта решения этой проблемы:
- Измените в файле web.config версию модуля. Для этого замените строку
modules=“AspNetCoreModuleV2”
на строку:
modules=“AspNetCoreModule”
- В VisualStudio добавьте трансформацию для web.config:
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
- В VisualStudio добавьте трансформацию для web.config для работы модуля AspNetCoreModuleV2 вне процесса:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
Готово, теперь вы можете загрузить свой сайт с поддержкой .NET Core на хостинг. Также вы можете развернуть сайт с помощью Web Deploy. Подробнее о работе с модулем ASP.NET Core вы можете прочитать в официальной документации Microsoft.
Логирование приложения на .NET Core
Чтобы включить логирование:
-
1
В конфигурационном файле web.config замените параметр
stdoutLogEnabled=«false»
на:stdoutLogEnabled=«true»
- 2 В корневой директории сайта создайте папку logs. Для пула приложения установите права на запись по инструкции Как изменить права на файлы и каталоги на хостинге для ASP.NET.
Готово, логирование приложения будет производиться в папку logs.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊