Novinky v ASP.NET Core 2.0
Tento článek popisuje nejvýznamnější změny v ASP.NET Core 2.0 s odkazy na příslušnou dokumentaci.
Razor Pages
Razor Pages je nová funkce ASP.NET Core MVC, která usnadňuje a produktivnější scénáře zaměřené na kódování stránek.
Další informace najdete v úvodu a kurzu:
metabalík ASP.NET Core
Nový metabalíč ASP.NET Core zahrnuje všechny balíčky vytvořené a podporované týmy ASP.NET Core a Entity Framework Core spolu s interními závislostmi a závislostmi třetích stran. Už nemusíte vybírat jednotlivé funkce ASP.NET Core podle balíčku. Všechny funkce jsou součástí balíčku Microsoft.AspNetCore.All . Výchozí šablony používají tento balíček.
Další informace najdete v tématu Metapackage Microsoft.AspNetCore.All pro ASP.NET Core 2.0.
Úložiště runtime
Aplikace, které používají Microsoft.AspNetCore.All
metabalíc, automaticky využívají nové úložiště .NET Core Runtime Store. Store obsahuje všechny prostředky modulu runtime potřebné ke spouštění aplikací ASP.NET Core 2.0. Při použití Microsoft.AspNetCore.All
metabalíku se s aplikací nasadí žádné prostředky z odkazovaných balíčků NuGet ASP.NET Core, protože už jsou umístěné v cílovém systému. Prostředky v úložišti runtime jsou také předkompilovány za účelem zlepšení doby spuštění aplikace.
Další informace najdete v tématu Úložiště runtime.
.NET Standard 2.0
Balíčky ASP.NET Core 2.0 cílí na .NET Standard 2.0. Na balíčky lze odkazovat jinými knihovnami .NET Standard 2.0 a mohou běžet v implementacích .NET Standard 2.0 kompatibilních s .NET, včetně .NET Core 2.0 a .NET Framework 4.6.1.
Metabalíc Microsoft.AspNetCore.All
cílí pouze na .NET Core 2.0, protože se má použít s úložištěm runtime .NET Core 2.0.
Aktualizace konfigurace
Instance IConfiguration
se ve výchozím nastavení přidá do kontejneru služeb v ASP.NET Core 2.0. IConfiguration
v kontejneru služeb usnadňuje aplikacím načtení konfiguračních hodnot z kontejneru.
Informace o stavu plánované dokumentace najdete v problému s GitHubem.
Aktualizace protokolování
V systému ASP.NET Core 2.0 je protokolování ve výchozím nastavení začleněno do systému injektáže závislostí (DI). Přidáte zprostředkovatele a nakonfigurujete filtrování v Program.cs
souboru místo v Startup.cs
souboru. Výchozí nastavení ILoggerFactory
podporuje filtrování způsobem, který umožňuje použít jeden flexibilní přístup pro filtrování mezi zprostředkovateli i filtrování konkrétních poskytovatelů.
Další informace naleznete v tématu Úvod do protokolování.
Aktualizace ověřování
Nový model ověřování usnadňuje konfiguraci ověřování pro aplikaci pomocí DI.
K dispozici jsou nové šablony pro konfiguraci ověřování webových aplikací a webových rozhraní API pomocí Azure AD B2C.
Informace o stavu plánované dokumentace najdete v problému s GitHubem.
Identity aktualizace
Usnadnili jsme vytváření zabezpečených webových rozhraní API pomocí Identity ASP.NET Core 2.0. Přístupové tokeny pro přístup k webovým rozhraním API můžete získat pomocí knihovny MSAL (Microsoft Authentication Library).
Další informace o změnách ověřování ve verzi 2.0 najdete v následujících zdrojích informací:
- Potvrzení účtu a obnovení hesla v ASP.NET Core
- Povolení generování kódu QR pro ověřovací aplikace v ASP.NET Core
- Migrace ověřování a Identity ASP.NET Core 2.0
Šablony SPA
Šablony projektů jednostránkové aplikace (SPA) pro Angular, Aurelia, Knockout.js, React.js a React.js with Redux jsou k dispozici. Šablona Angular byla aktualizována na Angular 4. Šablony Angular a React jsou ve výchozím nastavení k dispozici; Informace o tom, jak získat další šablony, naleznete v tématu Vytvoření nového projektu SPA. Informace o tom, jak vytvořit spa v ASP.NET Core, naleznete v části Funkce popsané v tomto článku jsou zastaralé od ASP.NET Core 3.0.
Kestrel vylepšení
Webový Kestrel server má nové funkce, díky kterým je vhodnější jako internetový server. Do nové Limits
vlastnosti třídy se přidá KestrelServerOptions
řada možností konfigurace omezení serveru. Přidejte omezení pro následující:
- Maximální počet připojení klientů
- Maximální velikost textu požadavku
- Minimální přenosová rychlost textu požadavku
Další informace najdete v tématu Kestrel Implementace webového serveru v ASP.NET Core.
WebListener se přejmenoval na HTTP.sys
Balíčky Microsoft.AspNetCore.Server.WebListener
a Microsoft.Net.Http.Server
byly sloučeny do nového balíčku Microsoft.AspNetCore.Server.HttpSys
. Obory názvů byly aktualizovány tak, aby odpovídaly.
Další informace najdete v tématu Implementace webového serveru HTTP.sys v ASP.NET Core.
Vylepšená podpora hlaviček HTTP
Při použití MVC k přenosu nebo FileStreamResult
FileContentResult
nebo , teď máte možnost nastavit ETag
nebo LastModified
datum v obsahu, který přenášíte. U vráceného obsahu můžete nastavit tyto hodnoty s kódem podobným následujícímu:
var data = Encoding.UTF8.GetBytes("This is a sample text from a binary array");
var entityTag = new EntityTagHeaderValue("\"MyCalculatedEtagValue\"");
return File(data, "text/plain", "downloadName.txt", lastModified: DateTime.UtcNow.AddSeconds(-5), entityTag: entityTag);
Soubor vrácený návštěvníkům obsahuje odpovídající hlavičky HTTP pro hodnoty ETag
a LastModified
hodnoty.
Pokud návštěvník aplikace požaduje obsah s hlavičkou Požadavku rozsahu, ASP.NET Core rozpozná požadavek a zpracuje hlavičku. Pokud je možné požadovaný obsah částečně doručit, ASP.NET Core odpovídajícím způsobem přeskočí a vrátí pouze požadovanou sadu bajtů. K přizpůsobení nebo zpracování této funkce nemusíte do svých metod psát žádné speciální obslužné rutiny; je automaticky zpracována za vás.
Hostování spuštění a Application Insights
Hostitelské prostředí teď můžou během spouštění aplikace vkládat další závislosti balíčků a spouštět kód, aniž by aplikace potřebovala explicitně převzít závislost nebo volat jakékoli metody. Tato funkce se dá použít k tomu, aby určitá prostředí mohla "odlehčovat" funkce jedinečné pro dané prostředí, aniž by aplikace potřebovala předem vědět.
V ASP.NET Core 2.0 se tato funkce používá k automatickému povolení diagnostiky Application Insights při ladění v sadě Visual Studio a (po přihlášení) při spuštění ve službě Aplikace Azure Services. V důsledku toho už šablony projektů ve výchozím nastavení nepřidají balíčky a kód Application Insights.
Informace o stavu plánované dokumentace najdete v problému s GitHubem.
Automatické použití antiforgerních tokenů
ASP.NET Core ve výchozím nastavení vždy pomohlo html kódovat obsah, ale s novou verzí je potřeba provést další krok, který pomáhá zabránit útokům XSRF (cross-site request forgery). ASP.NET Core teď ve výchozím nastavení vygeneruje antiforgery tokeny a ověří je na akcích POST a stránkách formuláře bez další konfigurace.
Další informace najdete v tématu Prevence útoků založených na padělání žádosti posílané mezi weby (XSRF/CSRF) v ASP.NET Core.
Automatická předkompilace
Razor Během publikování je ve výchozím nastavení povolená předběžná kompilace zobrazení, což snižuje velikost výstupu publikování a dobu spuštění aplikace.
Další informace najdete v tématu Razor kompilace a předkompilace v ASP.NET Core.
Razor podpora pro C# 7.1
Modul Razor zobrazení byl aktualizován tak, aby fungoval s novým kompilátorem Roslyn. To zahrnuje podporu funkcí C# 7.1, jako jsou výchozí výrazy, odvozené názvy řazené kolekce členů a porovnávání vzorů s obecnými typy. Pokud chcete v projektu použít C# 7.1, přidejte do souboru projektu následující vlastnost a pak řešení znovu načtěte:
<LangVersion>latest</LangVersion>
Informace o stavu funkcí C# 7.1 najdete v úložišti Roslyn Na GitHubu.
Další aktualizace dokumentace pro verzi 2.0
- Profily publikování sady Visual Studio pro nasazení aplikace ASP.NET Core
- Správa klíčů
- Konfigurace ověřování facebookových sítí
- Konfigurace ověřování Twitteru
- Konfigurace ověřování Google
- Konfigurace ověřování účtu Microsoft
Pokyny k migraci
Pokyny k migraci aplikací ASP.NET Core 1.x na ASP.NET Core 2.0 najdete v následujících zdrojích informací:
Další informace
Úplný seznam změn najdete ve zprávě k vydání verze ASP.NET Core 2.0.
Pokud se chcete spojit s průběhem a plány vývojového týmu ASP.NET Core, nalaďte si ASP.NET komunity Standup.