Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 10 tohoto článku.
IHttpContextAccessor
/
HttpContext byste se měli obecně vyhnout s SignalR, protože platný HttpContext není vždy dostupný. Ve většině případů kontext neexistuje (null).
I když je instance HttpContext k dispozici, závisí kontext na přenosu:
- WebSockets obdrží jediný kontext jako výsledek počátečního potřesení rukou.
- Dlouhé dotazování obdrží nový kontext pro každý požadavek klienta na „poll“.
- Služba SignalR obdrží kontext, který je napodobený, falešný nebo simulovaný.
Při práci v centru SignalR můžete k HttpContext přistupovat přímo pomocí metody GetHttpContextExtensions.GetHttpContext. Tato metoda vrátí HttpContext pro aktuální připojení nebo null, pokud připojení není přidružené k požadavku HTTP. To je užitečné zejména při načítání informací o připojení HTTP, jako jsou hlavičky a řetězce dotazů přímo v centru. Tuto metodu doporučujeme volat přes IHttpContextAccessor pro přístup k HttpContext v centru. Další informace najdete v tématu Použití center v ASP.NET Core SignalR.
Pokyny k IHttpContextAccessor/HttpContext v aplikacích ASP.NET Core Blazor najdete v tématu IHttpContextAccessor/HttpContext v aplikacích ASP.NET Core Blazor.