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 naleznete v rámci .NET verze 9 tohoto článku.
Důležitý
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Společnost Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, pokud jde o informace uvedené zde.
Aktuální verzi naleznete v verzi .NET 9 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.