Répondre

0

objet HttpContext sera transmis à la méthode Invoke de votre middleware. Vous pouvez accéder à la propriété Request à ce sujet.

Vous pouvez utiliser la méthode d'extension GetDisplayUrl ou la méthode d'extension GetEncodedUrl.

public Task Invoke(HttpContext context) 
{ 
    var url1 =context.Request.GetDisplayUrl(); 
    var url2 = context.Request.GetEncodedUrl();  


    // Call the next delegate/middleware in the pipeline 
    return this._next(context); 
} 

Ces 2 méthodes d'extension sont définies dans l'espace de noms Microsoft.AspNetCore.Http.Extensions. Assurez-vous donc que vous avez une instruction using pour inclure l'espace de noms

using Microsoft.AspNetCore.Http.Extensions; 
1

middleware obtenir HttpContext context qui a

// 
// Summary: 
//  /// Gets the Microsoft.AspNetCore.Http.HttpRequest object for this request. /// 
public abstract HttpRequest Request { get; } 

Vous pouvez obtenir toutes les informations nécessaires de manière suivante:

app.Use(async (context, next) => 
{ 
    //context.Request.Path 
    //context.Request.QueryString 
    ... 

    await next.Invoke(); 

});