Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
IHttpContextAccessor
/
HttpContext
v aplikacích ASP.NET Core BlazorPoznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi tohoto článku naleznete ve verzi .NET 9.
IHttpContextAccessor byste se obecně měli vyhnout interaktivnímu vykreslování, protože platný HttpContext není vždy dostupný.
IHttpContextAccessor lze použít pro součásti, které jsou staticky vykresleny na serveru. Pokud je to ale možné, doporučujeme se tomu vyhnout.
HttpContext lze použít jako kaskádový parametr pouze v staticky vykreslovaných kořenových komponentách pro obecné úlohy, jako je kontrola a úprava hlaviček nebo jiných vlastností v komponentě App
(Components/App.razor
). Hodnota je vždy null
pro interaktivní vykreslování.
[CascadingParameter]
public HttpContext? HttpContext { get; set; }
Během interaktivního vykreslování nemusí instance HttpContext ani existovat. V situacích, kdy je HttpContext vyžadován v interaktivních komponentách, doporučujeme předávat kontextová data z serveru s trvalým stavem komponenty .
Další kontext v pokročilých hraničních případech najdete v diskuzi v následujících článcích:†
dotnet/AspNetCore.Docs
#34301)dotnet/aspnetcore
#45699)Většina vývojářů, kteří vytvářejí a udržují Blazor aplikace, se nemusí zabývat pokročilými koncepty, pokud dodržují obecné pokyny v tomto článku.
Nepoužívejte IHttpContextAccessor/HttpContext přímo ani nepřímo v Razor komponentách Blazor aplikací na straně serveru. Blazor aplikace běží mimo kontext potrubí ASP.NET Core. Není jisté, že HttpContext bude dostupná v rámci IHttpContextAccessor, a také není jisté, že HttpContext bude obsahovat kontext, který spustil aplikaci Blazor.
Doporučený postup pro předání stavu požadavku do aplikace Blazor je prostřednictvím parametrů kořenové komponenty během počátečního vykreslování aplikace. Případně může aplikace zkopírovat data do vymezené služby v události životního cyklu inicializace kořenové komponenty pro použití v celé aplikaci. Pro více informací viz serverová část ASP.NET Core a Blazor Web App další scénáře zabezpečení.
Důležitým aspektem zabezpečení Blazor na straně serveru je to, že se uživatel připojený k danému okruhu může v určitém okamžiku po navázání Blazor okruhu aktualizovat, ale IHttpContextAccessorse neaktualizuje. Další informace o řešení této situace s vlastními službami najdete v případové studii ASP.NET Core na straně serveru a o dalších scénářích zabezpečení Blazor Web App.
Pokyny k IHttpContextAccessor a HttpContext v ASP.NET Core SignalRnajdete v tématu IHttpContextAccessor/HttpContext v ASP.NET Core SignalR.
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceŠkolení
Modul
Implementace operací HTTP ve webových aplikacích ASP.NET Core Blazor - Training
Implementace operací HTTP ve webových aplikacích ASP.NET Core Blazor
Dokumentace
Prerender ASP.NET Core Razor components
Přečtěte si informace o Razor předkreslování součástí v aplikacích ASP.NET Core Blazor .
správa základního Blazor stavu ASP.NET
Zjistěte, jak zachovat uživatelská data (stav) v Blazor aplikacích.
ASP.NET základní serverové scénáře a Blazor Web App další scénáře zabezpečení
Zjistěte, jak nakonfigurovat serverové Blazor a Blazor Web Apps pro další scénáře zabezpečení.