IHttpContextAccessor
/
HttpContext
in ASP.NET Core SignalR
Notitie
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikelvoor de huidige release.
Belangrijk
Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Zie de .NET 9-versie van dit artikelvoor de huidige release.
IHttpContextAccessor
/
HttpContext moet over het algemeen worden vermeden met SignalR omdat een geldige HttpContext niet altijd beschikbaar is. In de meeste gevallen bestaat de context niet (null
).
Zelfs wanneer een HttpContext exemplaar beschikbaar is, is de context afhankelijk van het transport:
- WebSockets ontvangt één context als gevolg van de eerste handshake.
- "Long polling" ontvangt bij elke client 'poll'-aanvraag een nieuwe context.
- Een SignalR-service ontvangt een gesimuleerde, vervalste of aangepaste context.
Wanneer u in een SignalR hub werkt, hebt u rechtstreeks toegang tot de HttpContext met behulp van de methode GetHttpContextExtensions.GetHttpContext. Deze methode retourneert de HttpContext voor de huidige verbinding of null
als de verbinding niet is gekoppeld aan een HTTP-aanvraag. Dit is met name handig voor het ophalen van HTTP-verbindingsgegevens, zoals headers en queryreeksen, rechtstreeks in de hub. We raden u aan deze methode aan te roepen via IHttpContextAccessor voor toegang tot HttpContext in de hub. Zie Hubs gebruiken in ASP.NET Core SignalRvoor meer informatie.
Zie voor hulp bij IHttpContextAccessor/HttpContext in ASP.NET Core Blazor-apps IHttpContextAccessor/HttpContext in ASP.NET Core Blazor-apps.