Maison >développement back-end >C++ >Comment accéder au HttpContext actuel dans ASP.NET Core ?
Accès à HttpContext dans les applications ASP.NET Core
Contrairement à son prédécesseur, ASP.NET MVC, qui offrait la propriété HttpContext.Current
pratique, l'accès au HttpContext
actuel dans ASP.NET Core nécessite une approche différente. La méthode d'accès statique direct n'est plus disponible.
La solution : IHttpContextAccessor
ASP.NET Core fournit l'interface IHttpContextAccessor
comme solution. En injectant ce service dans vos classes, vous accédez au HttpContext
actuel quel que soit le contexte d'exécution.
Exemple illustratif :
Examinons un composant nécessitant des données de session :
<code class="language-csharp">public class MyComponent : IMyComponent { private readonly IHttpContextAccessor _httpContextAccessor; public MyComponent(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public string RetrieveSessionData() { return _httpContextAccessor.HttpContext.Session.GetString("KEY"); } }</code>
Ce MyComponent
récupère les données de la session de l'utilisateur à l'aide du IHttpContextAccessor
injecté. Le HttpContext
est accessible et la propriété Session
est utilisée pour récupérer la valeur associée à la clé "KEY".
Considérations importantes :
IHttpContextAccessor
est une dépendance qui doit être injectée dans le constructeur de votre composant.HttpContextAccessor
méthodes d'extension pour un accès simplifié aux revendications des utilisateurs, aux cookies et au corps de la demande.HttpContext
au sein d'une méthode statique nécessite un modèle 'StaticHttpContext'. Cela implique d'initialiser HttpContextAccessor
avec le IServiceProvider
global. Cependant, cette approche doit être utilisée avec parcimonie en raison de problèmes de concurrence potentiels.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!