it-swarm.com.de

Die angegebene CGI-Anwendung hat einen Fehler festgestellt und der Server hat den Vorgang abgebrochen

Ich hoste eine asp.net 5-Anwendung auf Azure, der Code ist für Beta8 erfüllt, die Anwendung läuft gut in der lokalen Umgebung und wenn ich den Code auf der Azure-Site veröffentliche. Ich erhalte einen allgemeinen Fehler "Die angegebene CGI-Anwendung hat einen Fehler festgestellt und der Server hat den Vorgang abgebrochen." 

19
srivatsa6065

Ich konnte dieses Problem lösen, indem ich forwardWindowsAuthToken aus der Datei web.config unter wwwroot entfernte.

  1. Navigieren Sie zu src/ProjectName/wwwroot
  2. Öffnen Sie die web.config
  3. Entfernen Sie in httpPlatform die forwardWindowsAuthToken="true/false"-Eigenschaft

Umstellen und meine Arbeit hat gut funktioniert.

Siehe hier https://github.com/aspnet/Hosting/issues/364 für ausführliche Diskussionen

9
dmpontifex

Kurze Antwort

Für uns war das Problem, UseIISIntegration() auf der WebHostBuilder.

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

     Host.Run();
}

Mehr Details

Unsere web.config sieht so aus: 

<?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>       

Unser project.json sieht so aus: 

{
  "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%"
    ]
  }
}

Unsere nuget.config sieht folgendermaßen aus: 

<?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>
6
Shaun Luttin

Ich hatte das gleiche Problem, wie ich es gelöst habe.

  • Meine Anwendung war .NET CORE 2.2 und ich wurde in der Azure-Webanwendung bereitgestellt.
  • Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf die Schaltfläche zum Veröffentlichen.
  • Wählen Sie das Veröffentlichungsprofil aus, das Sie von Azure heruntergeladen haben.
  • Ändern Sie als Nächstes den Bereitstellungsmodus unter Zusammenfassung in Eigenständig.
  • Klicken Sie nun auf "Veröffentlichen", es sollte funktionieren. enter image description here
3
Sagar Patil

Dies kann auch passieren, wenn Sie in Ihrem Code eine Endlosschleife haben.

2
pimbrouwers

Ich bin gerade auf diesen Fehler gestoßen, als ich eine ASP.core-App mit .NET 5.4.2 implementierte. Das Update bestand in der Bereitstellung auf einer neuen App-Service-Instanz. Meine Vermutung war, dass etwas Müll aus einer früheren Bereitstellung übrig war, die eine andere Framework-Version verwendete.

2
Tom Makin

Ich hatte kürzlich das gleiche Problem und konnte es lösen, indem ich requestTimeout in web.config einstellte:

<?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>
2
Martin Brandl

Ich verwende .NET Core 2.1 und EF Core, die in einer Azure-Webanwendung bereitgestellt werden. Ich habe diese Fehlermeldung erhalten, als ich von einem Datenbankkonto mit DB-Besitzerrechten zu einem eingeschränkten Datenbankkonto gewechselt habe. Ich vermute, EF braucht ein Recht, das mir fehlt, wenn die App startet.

0
John81

Ich habe dieses Problem im Azure-App-Service, da es sich bei der Version von asp.net core um eine Preview-Version handelt. Daher aktualisiere ich die asp.net-Kernversion von NuGet auf 2.0.1 und implementiere die App erneut.

Die App funktioniert wieder.

0
Crazy Crab