Подтвердить что ты не робот

Указанное приложение CGI обнаружило ошибку, и сервер завершил процесс

Я размещаю приложение asp.net 5 на azure, код выполняется для бета-версии 8, приложение отлично работает в локальной среде и когда я публикую код на лазурном сайте. я получаю общую ошибку "Указанное приложение CGI обнаружило ошибку, и сервер завершил процесс".

4b9b3361

Ответ 1

Мне удалось решить эту проблему, удалив forwardWindowsAuthToken из файла web.config в разделе wwwroot.

  • Перейдите в src/ProjectName/wwwroot
  • Откройте web.config
  • В httpPlatform удалите свойство forwardWindowsAuthToken="true/false"

Redeploy и мои работали нормально.

См. здесь https://github.com/aspnet/Hosting/issues/364 для обсуждения.

Ответ 2

Короткий ответ

Для нас исправление заключалось в UseIISIntegration() на WebHostBuilder.

public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseKestrel()
        .UseIISIntegration() // Necessary for Azure.
        .UseStartup<Program>()
        .Build();

     host.Run();
}

Подробнее

Наш web.config выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>         
<configuration>                                
<system.webServer>                             
    <handlers>                                 
    <add name="aspNetCore"                     
        path="*"                               
        verb="*"                               
        modules="AspNetCoreModule"             
        resourceType="Unspecified"/>           
    </handlers>                                
    <aspNetCore processPath="%LAUNCHER_PATH%"  
        arguments="%LAUNCHER_ARGS%"            
        stdoutLogEnabled="false"               
        stdoutLogFile=".\logs\stdout"          
        forwardWindowsAuthToken="false"/>      
</system.webServer>                            
</configuration>       

Наш project.json выглядит следующим образом:

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0-*",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0-*"
  },
  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },
  "frameworks": {
    "netcoreapp1.0": {}
  },
  "buildOptions": {
    "emitEntryPoint": true
  },
  "publishOptions": {
    "include": [
      "web.config"
    ]
  },
  "scripts": {
    "postpublish": [
      "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
    ]
  }
}

Наш nuget.config выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
    <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

Ответ 3

Это также может произойти, если в вашем коде есть бесконечный цикл.

Ответ 4

Я просто столкнулся с этой ошибкой при развертывании приложения ASP.core с помощью .NET 5.4.2. Исправление заключалось в развертывании в новом экземпляре службы приложения. Я предполагал, что с предыдущим развертыванием остался какой-то хлам, который использовал другую версию фреймворка.

Ответ 5

Я столкнулся с той же проблемой, следующие шаги, как я решил.

  • Моим приложением было .NET CORE 2.2, и я развертывал его в веб-приложении Azure.
  • Щелкните правой кнопкой мыши по проекту и нажмите кнопку публикации.
  • Выберите профиль публикации, который вы загрузили из Azure.
  • Затем измените режим развертывания в разделе "Сводка" на "Автономный".
  • Теперь нажмите на кнопку публикации, это должно работать. enter image description here

Ответ 6

Недавно у меня возникла та же проблема, и я смог ее решить, установив requestTimeout в requestTimeout web.config:

<?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=".\PROJECT.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" requestTimeout="00:30:00"/>
    </system.webServer>
  </location>
</configuration>

Ответ 7

У меня есть эта проблема в службе приложений Azure, поскольку версия ядра asp.net является предварительной версией, поэтому я обновляю версию ядра asp.net с помощью NuGet до версии 2.0.1 и повторно внедряю приложение.

Приложение снова работает.

Ответ 8

Я использую .NET Core 2.1 и EF Core, развернутые в веб-приложении Azure. Я получил эту ошибку, когда переключился с использования учетной записи базы данных с правами владельца базы данных на ограниченную учетную запись базы данных. Я подозреваю, что EF нужно право, которое я пропускаю при запуске приложения.