2013-11-04 6 views
11

Ich habe die folgende Klasse auf einer ASP.NET MVC 5 Website:OwinStartup startet nicht ... Warum?

[assembly: OwinStartup(typeof(MVCSite.Startup))] 
namespace MVCSite { 

    public partial class Startup { 

    public void Configuration(IAppBuilder application) { 

     application.UseCookieAuthentication(new CookieAuthenticationOptions { 
     AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
     LoginPath = new PathString("/Account/Login") 
     }); 

     application.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); 
    } 
    } 
} 

Und auf Web.Config habe ich folgendes:

<add key="owin:AutomaticAppStartup" value="false"/> 

Ich habe einen Haltepunkt in Startup.Configuration aber feuert nicht ...

Irgendeine Idee warum?

+0

'Entfernen ' Vermutlich wollen Sie '' AutomaticAppStartup' true' zu ​​sein? Beachten Sie, dass [diese Anweisungen] (http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection) nicht Schritt für Schritt sind. Die erste Liste zeigt Ihnen verschiedene Optionen. –

+0

1) Wie von @ ta.speot.is erwähnt, möchten Sie vielleicht dem owin einen echten Wert geben: AutomaticAppStartup appSetting. 2) Haben Sie das Microsoft.Owin.Host.SystemWeb nuget-Paket in Ihrem Projekt installiert? Dieses Paket wird benötigt, damit die Startup-Klasse abgeholt werden kann. Sie können dieses Tutorial für weitere Informationen besuchen: http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection – Praburaj

+0

Vielen Dank. Das war das Problem ... Ich vermisse es, die Informationen über owin zu interpretieren. –

Antwort

15

Mit

<add key="owin:AutomaticAppStartup" value="true"/> 

Ist die Antwort.

+0

Ich hatte das gleiche Problem wie das OP. Ich hatte meine 'Startup'-Klasse, sowie die OWIN-Attribute darauf. Ich hatte auch das 'Owin.Host.SystemWeb' Paket installiert. Ich habe die web.config für dieses Attribut nicht angeschaut, weil ich es nie auf Fehler gesetzt hatte. Ich nahm an, dass die Paketinstallation alles für mich regeln würde - ich lag falsch. Stellen Sie sicher, dass Sie nach dieser Konfigurationseinstellung suchen! – Origin

+1

Wo soll es in der Konfigurationsdatei sein? –

+0

@KonradViltersten: Es sollte in '' Block –

25

Es ist normalerweise passiert, weil SystemWeb Paket nicht auf Ihrem Projekt installiert ist.

Verwenden Sie diesen Befehl an Ihrem Package Manager Console:

Install-Package Microsoft.Owin.Host.SystemWeb

In der anderen Seite Sie diese Konfiguration verwenden können auf Ihrer app.config oder web.config Wenn die obige Lösung nicht funktioniert:

<appSettings> 
    <add key="owin:AutomaticAppStartup" value="true"/> 
</appSettings> 
+0

Dies hat mich von Stunden des Kampfes gerettet. Vielen Dank. –

0

Versuchen [assembly: OwinStartup(typeof(MVCSite.Startup))] und geben einen Schuss

+0

Die Frage wurde mit Kommentaren beantwortet, denen der Autor zugestimmt hat. –