webentwicklung-frage-antwort-db.com.de

HTTP-Fehler 500.30 - Fehler beim Start des ANCM-In-Process-Fehlers in ASP.NET Core 2.2

Ich konfiguriere diese Anwendung Bestätigen des Kontos und Wiederherstellen von Kennwörtern in ASP.NET Core , aber ich habe einen Fehler:

HTTP-Fehler 500.30 - ANCM-Startfehler während des Prozesses Häufige Ursachen für dieses Problem: Die Anwendung konnte nicht gestartet werden. Die Anwendung wurde gestartet, aber dann gestoppt. Die Anwendung wurde gestartet, hat jedoch beim Start eine Ausnahme ausgelöst. Schritte zur Fehlerbehebung: Überprüfen Sie das Systemereignisprotokoll auf Fehlermeldungen. Aktivieren Sie die Protokollierung der Standardnachrichten des Anwendungsprozesses Fügen Sie dem Debugger eine Verbindung zum Anwendungsprozess hinzu und überprüfen Sie http 500, wenn Sie diesen Code in IdentityHostingStartup ersetzen

Unten ist meine Konfiguration:

[Assembly: HostingStartup(typeof(Misioneros.Stella.Maris.Web.Areas.Identity.IdentityHostingStartup))]
namespace Misioneros.Stella.Maris.Web.Areas.Identity
{
    public class IdentityHostingStartup : IHostingStartup
    {
        public void Configure(IWebHostBuilder builder)
        {
            builder.ConfigureServices((context, services) => {
                services.AddDbContext<ApplicationDbContext>(options =>
                    options.UseSqlServer(
                        context.Configuration.GetConnectionString("DefaultConnection")));

                services.AddDefaultIdentity<IdentityUser>(config =>
                {
                    config.SignIn.RequireConfirmedEmail = true;
                })
                    .AddEntityFrameworkStores<ApplicationDbContext>();
            });
        }
    }
}

Irgendeine Idee, was das Problem ist?

11
César Desu

Ich habe den Grund. Möglicherweise registrieren Sie Identity zweimal in Ihrer Anwendung wie folgt:

Eine in ConfigureServices Methode der Startklasse:

services.AddDefaultIdentity<IdentityUser>()
                .AddDefaultUI(UIFramework.Bootstrap4)
                .AddEntityFrameworkStores<ApplicationDbContext>();

Und andere in der IdentityHostingStartup:

services.AddDefaultIdentity<IdentityUser>(config =>
                {
                    config.SignIn.RequireConfirmedEmail = true;
                }).AddEntityFrameworkStores<ApplicationDbContext>();

Registriere Identity nur an einer Stelle, d. H. Entweder in der Methode ConfigureServices oder in IdentityHostingStartup.

Hoffe das wird dir helfen.

11
TanvirArjel

Ich hatte den Fehler 500.30 aufgrund des von TanvirArjel genannten Problems der doppelten Identität, aber ich bin auch gerade auf den Fehler gestoßen, als meine Datei appsettings.json fehlerhaften JSON enthielt. Ich bin mir nicht sicher, ob dies nur auftreten würde, wenn Sie tatsächlich versuchen, Konfigurationswerte in Startup zu verwenden.

11
Bryan B

Ich hatte diesen Fehler. Es stellte sich heraus, dass das Stammverzeichnis darin bestand, dass die App, mit der ich arbeitete, Azure Key Vault verwendete und ich habe die falsche Identität zur Authentifizierung bei Azure verwendet.

Ich musste zu Extras> Optionen> Azure-Dienstauthentifizierung gehen und die für die Azure-Dienstauthentifizierung verwendete Identität ändern.

(enter image description here

4
Dan Schnau

Wenn Sie keine Ahnung haben, was der Grund für dieses Verhalten ist, können Sie die Protokollierung in der Datei web.config aktivieren

<aspNetCore processPath="dotnet" arguments=".\WMC.Web.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

und dann finden Sie im Protokollordner die detaillierte Beschreibung Ihrer Ausnahme

3
DenVys

Was genau diesen Fehler für mich (in .NET Core 2.2) auf dem Produktionsserver behoben hat IIS Server hat die 32-Bit-Anwendungsunterstützung in meinem Anwendungspool deaktiviert. Auf meinem lokalen Win10 hat alles gut funktioniert IIS Express-Setup.

Ich habe meine Anwendung in Visual Studio 2019 (Registerkarte "Veröffentlichen"> "Einstellungen") als "Bereitstellungsmodus: Framework-abhängig" und "Ziellaufzeit: win-x64" veröffentlicht. Ich bin mir nicht sicher, ob die erstere Option wichtig ist oder nicht.

Um den Fehler auf dem IIS Server) zu beheben, musste ich in meinem Anwendungspool unter "Erweiterte Einstellungen" die Option "32-Bit-Anwendungen aktivieren" auf "Falsch" setzen. Sie können dies auch tun auf globaler Ebene, wenn es sinnvoll ist. Die globalen "Erweiterten Einstellungen" finden Sie rechts im Bereich "Aktionen".

1
Sum None

Fügen Sie den try catch-Block in program.cs kann helfen, das Problem zu lösen

public static void Main(string[] args)
        {
            try { 
            CreateWebHostBuilder(args).Build().Run();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
        }
0
Tassadaque

Ich hatte das gleiche Problem, als ich eine Webanwendung und eine Web-API-Site (aus derselben Lösung) mit demselben Anwendungspool hatte. Ich habe das Problem behoben, als ich einen neuen Anwendungspool für die Web-API erstellt habe, sodass der App-Pool nicht mehr für die Webanwendung freigegeben wurde.

0
CodeCaptain

Ich habe 500,30 beim Aktualisieren von openiddict 2.0.0-rc2-final Auf openiddict 2.0.0 Erhalten.

TanvirArjels Antwort wies mich an, .AddOAuthValidation(); aus StartUp.cs Zu entfernen.

public void ConfigureServices(IServiceCollection services)
{
    // updated openiddict
    services.AddOpenIddict()
            .AddCore(options => { /*removed for brevity*/ })
            .AddServer(options => { /*removed for brevity*/ })
            .AddValidation();

    services.AddAuthentication(options => { /*removed for brevity*/ })
            .AddCookie()
            .AddOAuthValidation(); // this line
}
0
ono2012