2015-07-20 7 views
5

se volevo gestire gli eventi di applicazione nel mio ASP.NET app, vorrei registrare un gestore nel mio Global.asax:gestori di registrarsi per gli eventi di applicazione in ASP.NET 5

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

Global.asax è stato rimosso da ASP. NET 5. Come gestisco questi eventi adesso?

+0

Da quello che ho trovato, credo che tutto sia fatto nel file 'startup.cs' in ASP.NET 5. http://wildermuth.com/2015/3/2/A_Look_at_ASP_NET_5_Part_2_-_Startup –

+0

@Drew Kennedy - heh heh sei stato più veloce e hai persino fornito lo stesso link –

+0

@ Tanis83 Yup! L'avrei fornito come risposta, ma in realtà era solo una supposizione. : p –

risposta

-1

Le app ASP.NET possono vivere senza global.asax.

HTTPModule è un'alternativa a global.asax.

Ulteriori informazioni here.

1

Il modo per eseguire una logica per ogni richiesta in ASP.NET 5 è tramite Middlewares. Qui è un middleware di esempio:

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); 
    } 
} 

È quindi possibile registrare questo nella classe Startup:

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

Vedi qui per more information on Middlewares in ASP.NET 5.

Per qualsiasi richiamo di livello di avvio dell'applicazione, vedere application startup documentation.

+0

Dovrei usare anche il middleware per tutti gli altri eventi? 'Application_Start',' Application_AuthenteicateRequest', 'Session_Start', ecc ...? –

+0

Il metodo Invoke del middleware verrà richiamato per ogni richiesta a seconda di dove si trova il middleware all'interno della catena. Per l'avvio dell'applicazione, ci sono diversi punti all'interno del metodo 'Startup' in cui è possibile eseguire il tab in come' Startup' ctor, 'ConfigureServices' method e' Configure' method. – tugberk

+0

dai un'occhiata qui per maggiori informazioni sulla classe 'Startup': http://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html#application-startup – tugberk

Problemi correlati