401 Stimmen

OwinStartup wird nicht ausgelöst

Ich hatte den OwinStartup-Konfigurationscode perfekt funktionieren und dann hat er aufgehört zu funktionieren. Leider bin ich mir nicht genau sicher, was ich getan habe, um ihn zum Stoppen zu bringen, und ich habe wirklich Schwierigkeiten, es herauszufinden.

Um sicherzustellen, dass ich die Grundlagen abgedeckt habe, habe ich mehrfach überprüft, ob ich die

[assembly:OwinStartup(typeof(WebApplication.Startup))] 

Attribut richtig zugewiesen habe und darauf geachtet, dass ich kein appSetting für owin:AutomaticAppStartup habe, das auf false gesetzt ist, also habe ich eins auf true gesetzt, um sicher zu gehen, da vorher nichts vorhanden war.

Ich habe auch versucht, das appSetting speziell anzugeben:

Vor dem Stopp habe ich die Microsoft.Owin.Security NuGet-Pakete auf 2.0.2 aktualisiert, also habe ich versucht, sie auf 2.0.1 zurückzusetzen (das war eine Qual), aber es hat nichts geändert. Ich habe WebActivator im Projekt installiert und verwende es, um andere Dinge zu initialisieren, aber ich habe das auf einer frischen WebApplication-Vorlage getestet und es funktioniert dort, also denke ich nicht, dass das der Übeltäter ist.

Ich habe auch versucht, meine Startup-Klasse zu entfernen und Visual Studio zu verwenden, um eine neue hinzuzufügen, indem ich den OWIN Startup-Klassentyp in Neues Element hinzufüge, und auch das wird nicht aufgerufen. Als nächstes habe ich versucht, eine zweite Startup-Klasse hinzuzufügen, da ich weiß, dass eine Ausnahme geworfen wird, wenn mehr als ein OwinStartup-Attribut definiert ist, aber dort wird keine Ausnahme geworfen.

Nicht sicher, was ich noch ausprobieren soll. Irgendwelche Gedanken?

Update

Es stellte sich heraus, dass Resharper den Verweis auf Microsoft.Owin.Host.SystemWeb entfernt hat, als ich ihn benutzte, um nicht verwendete Verweise zu entfernen.

2voto

Grey Wolf Punkte 5997

In meinem Fall war der IIS-Anwendungspool nicht auf v4 eingestellt. Es war v2.

Habe den AppPool auf v4 geändert und alles war in Ordnung.

2voto

Andrew Gale Punkte 41

Dies hat für mich funktioniert:

 

authentication mode="None" hinzufügen

2voto

sirdank Punkte 3021

In meinem Fall hatte meine web.config

Um es dazu zu zwingen, auf Owin zurückzugreifen, musste es sein

1voto

Sean Song Punkte 89

In meinem Fall wurde der Ausgabepfad meiner Website von jemand anderem geändert, und selbst der IIS Express lädt OWIN nicht, und die Setup-Klasse wird natürlich nicht ausgeführt. Nachdem ich den Ausgabepfad auf "bin\" gesetzt habe, funktioniert es gut.

1voto

JoeHz Punkte 2075

Ich denke, was einige Leute versuchen zu erklären ist, dass wenn Sie Ihren OWIN-Server "programmgesteuert zum Leben erwecken" wollen, würden Sie etwas wie folgt aufrufen:

using Microsoft.Owin.Hosting;

    IDisposable _server = WebApp.Start("http://+:5000"); 
              // Starten Sie den Empfang von HTTP über alle Schnittstellen auf Port 5000

Nachdem Sie diesen Aufruf gemacht haben, sehen Sie den Aufruf von StartupMethod() im Debugger

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X