Потратив целый день на борьбу с самим собой, решив разместить свое основное приложение asp.net на IIS с хостингом InProcess, я, наконец, горжусь тем, что решил эту проблему.Много раз, просматривая одни и те же форумы, блоги и вопросы SO, которые пытались решить эту проблему наилучшим образом, я все еще застрял, следуя всем вышеупомянутым подходам.Теперь здесь я опишу свой опыт ее решения.
Шаг 1: Создайте веб-сайт в IIS
Шаг 2: Убедитесь, что в AppPool для веб-сайта .Net CLR версия установлена на "Нет"Управляемый код "и свойство" Включить 32-разрядные приложения "в AppPool -> Расширенные настройки имеют значение false
Шаг 3. Убедитесь, что ваш проект ссылается на .Net core 2.2
Шаг 4: Добавьте следующую строку в файл startup.cs внутри метода ConfigureServices
services.Configure<IISServerOptions>(options =>
{
options.AutomaticAuthentication = false;
});
Шаг 6: Добавьте следующие пакеты Nuget
Microsoft.AspNetCore.Appv2.2.5 или выше
Microsoft.AspNetCore.Server.IIS v2.2.2 или выше
Шаг 7: Добавьте следующую строку в ваш файл .csproj
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
Шаг 8. Создание и публикация кода (предпочтительно x64 bitness )
Шаг 9. Убедитесь, что вы добавили имя хоста своего веб-сайта в файл etc / hosts
Шаг 10: Перезапустите службу публикации в World Wide Web
Теперь протестируйте ядро asp.netприложение и оно должно быть размещено с помощью хостинга InProcess. Чтобы проверить, размещено ли ваше приложение с использованием режима InProcess, проверьте заголовки ответа, и оно должно содержать следующую строку
Сервер: Microsoft-IIS / 10.0 (версия IIS можетбыть любым углублением в вашей системе)