2015-07-20 7 views
5

Wenn ich Anwendung Ereignisse in meinem ASP.NET app behandeln wollte, würde ich einen Handler in meinem Global.asax registrieren:Register Handler für Anwendungsereignisse in ASP.NET 5

protected void Application_BeginRequest(object sender, EventArgs e) 
{ ... } 

Global.asax wurde von ASP entfernt. NET 5. Wie gehe ich jetzt mit solchen Ereignissen um?

+0

Von was ich finden konnte, glaube ich, dass das alles in der 'startup.cs' Datei in ASP.NET 5 getan wird. Http://wildermuth.com/2015/3/2/A_Look_at_ASP_NET_5_Part_2_-_Startup –

+0

@Drew Kennedy - heh heh, du warst schneller und hast sogar den gleichen Link zur Verfügung gestellt –

+0

@ Tanis83 Yup! Ich hätte es als Antwort gegeben, aber es war wirklich nur eine Vermutung. : p –

Antwort

-1

ASP.NET Apps können ohne global.asax leben.

HTTPModule ist eine Alternative zu global.asax.

Lesen Sie mehr here.

1

Die Möglichkeit, eine Logik für jede Anforderung in ASP.NET 5 auszuführen, erfolgt über Middlewares. Hier ist ein Beispiel-Middleware:

public class FooMiddleware 
{ 
    private readonly RequestDelegate _next; 

    public FooMiddleware(RequestDelegate next) 
    { 
     _next = next; 
    } 

    public async Task Invoke(HttpContext context) 
    { 
     // this will run per each request 
     // do your stuff and call next middleware inside the chain. 

     return _next.Invoke(context); 
    } 
} 

Sie können dann registrieren Sie dies in Ihrem Startup Klasse:

public class Startup 
{ 
    public void Configure(IApplicationBuilder app) 
    { 
     app.UseMiddleware<FooMiddleware>(); 
    } 
} 

Siehe hier für more information on Middlewares in ASP.NET 5.

Für jede Anwendung starten Ebene Aufrufe, siehe application startup documentation.

+0

Würde ich Middleware auch für alle anderen Ereignisse verwenden? 'Application_Start',' Application_AuthenticateRequest', 'Session_Start', etc ...? –

+0

Die Invoke-Methode der Middleware wird für jede Anforderung aufgerufen, je nachdem, wo Sie sich in der Middleware befinden. Für den Start der Anwendung gibt es mehrere Stellen innerhalb der 'Startup'-Methode, wo Sie wie' Startup ', 'ConfigureServices' und' Configure' einsteigen können. – tugberk

+0

Hier finden Sie weitere Informationen zur 'Startup'-Klasse: http://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html#application-startup – tugberk