Служба ядра .Net недоступна после публикации в IIS - PullRequest
0 голосов
/ 13 февраля 2019

После публикации своего доступа к IIS при попытке доступа к нему появляется ошибка: Служба недоступна

Ошибка HTTP 503. Служба недоступна.

Что мне делать дальше?

Я использую Windows Server 2008 (64-разрядная версия) с IIS 8.5.Это веб-приложение API .NET CORE 2.2.1.

На установленной мной машине Windows:

  • Microsoft .NET CORE 2.2.1 - Windows Server Hosting
  • Microsoft .NET CORE Runtime - 2.2.1 (x64)
  • Microsoft .NET CORE Runtime - 2.2.1 (x86)
  • Microsoft Visual C ++ 2015, распространяемый (x86) - 14.024212
  • Распространяемый Microsoft Visual C ++ 2015 (x64) - 14.024123
  • Распространяемый Microsoft Visual C ++ 2008 - x86 - 9.0.30729.4148
  • Распространяемый Microsoft Visual C ++ 2008 - x64 - 9.0.30729.6161

Я сделал публикацию из визуальной студии.В IIS для модулей у меня есть AspNetCoreModuleV2.

Файл веб-конфигурации, который у меня есть:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\App.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
   </system.webServer>
 </location>
</configuration>
<!--ProjectGuid: 9d04b7be-318b-4e95-aae3-c47aab07db30-->

Код из метода CreateWebHostBuilder:

 return WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>().UseSerilog((ctx, cfg) =>
            {
                cfg.ReadFrom.Configuration(ctx.Configuration)
                    .MinimumLevel.Verbose()
                    .MinimumLevel.Override("Microsoft", LogEventLevel.Information);
            });

1 Ответ

0 голосов
/ 13 февраля 2019

вы можете проверить следующие шаги для устранения проблемы.

  1. убедиться, что установлены ядро ​​.net и AspNetCoreModule и операционная система перезапущена после установки .
  2. обеспечитьверсия вашей платформы пула приложений .Net - «No Managed Code» на iis.
  3. - убедитесь, что ваше приложение прогревается правильно.(откройте командную строку в каталоге, где находится ваше приложение. введите dotnet yourapp.dll и нажмите клавишу ввода.)

  4. , если приложение правильно запускается с помощью команды dotnet, проверьте уровень доступа к местоположению файла журнала (". \журналы \ стандартный вывод ").Чтобы дать пользователю пула приложений возможность чтения и записи, выполните следующие действия https://stackoverflow.com/a/7334485/4172872

ОБНОВЛЕНИЕ:

Действительно ли расширение приложения - ".exe"?

<aspNetCore processPath=".\App.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
...