OWIN StartUp funktioniert nicht
Habe ich erklärt das folgende in meine Anwendung:
[assembly: OwinStartup("MyClass", typeof(MyClass), "ConfigureOwin")]
Definiert ein startup-Klasse:
public class MyClass {
public void ConfigureOwin(IAppBuilder appBuilder) {
}
}
Und starten owin wie diese:
WebApp.Start<MyClass>("baseUri");
Aber es funktioniert nicht. WebApp immer versucht, für eine Methode mit dem Namen 'Konfiguration', auch wenn ich definieren, suchen Sie nach etwas anderes. Was könnte ich tun?
- Mögliche Duplikate von OwinStartup nicht Ab ... Warum?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für mich, ich brauchte, um hinzuzufügen
Microsoft.Owin.Host.SystemWeb
als Referenz. (Klicken Sie auf Nuget-Pakete Verwalten und suchen Sie es.)Dank in diesem blog-post für den Tipp.
Ich lief in dieses Problem, weil ich bei der Migration vom Web-API Web-API mit OWIN-middleware für die ADFS-Authentifizierung.
Wenn Sie
optimizeCompilations="true"
in Ihremweb.config
müssen Sie möglicherweise, um es zufalse
und zurücktrue
.optimizeCompilations
zufalse
führen Sie Ihre app, und wechseln Sie dann zurück zutrue
. Es ist eine dumme Lösung, aber eine, die funktioniert!Beide
OwinStartupAttribute
undWebApp.Start<T>(StartOptions)
sind Wege festzulegen, welche Klasse zu verwenden, um die Konfiguration OWIN-pipeline, die beide davon ausgehen, dass der angegebene Typ hat eine Methode mit der SignaturConfiguration(IAppBuilder)
.Jedoch die
OwinStartupAttribute
hat überladungen, um eine optionale Methode name. AFAIK gibt es keine überlastung geben Sie name der Methode bei der Verwendung derWebApp.Start<T>
Methode.Den
OwinStartupAttribute
ist besonders nützlich, wenn Sie eine externe Komponente, "kickstarts" die OWIN-pipeline, wie z.B. eine ASP.NET handler (mit Microsoft.Owin.Host.SystemWeb) oder Helios (mit Microsoft.Owin.Host.IIS). Wenn Sie self-hosting (mit Microsoft.Owin.Host.HttpListener), ist es am besten, um dieWebApp.Start
Methoden.Hier ist eine großartige Ressource auf OWIN Startup Class-Erkennung.
WebApp.Start<T>
Ansatz und halte dich einfach an die Konventionen 🙂OwinStartupAttribute
werden muss, um kick-Start durch den ASP.Net handler, wenn die in IIS gehostetIn Ihrer Website.config
appSettings
sind, versuchen Sie dies: