Co je nového ve ASP.NET Core 2.0

Tento článek se týká nejvýznamnějších změn ve ASP.NET Core 2.0 s odkazy na příslušnou dokumentaci.

Razor Stránky

RazorPages je nová funkce ASP.NET Core MVC, která usnadňuje a produktivnější kódování scénářů zaměřených na stránky.

Další informace najdete v úvodu a kurzu:

ASP.NET Core metabalíček

Nový ASP.NET Core balíček obsahuje všechny balíčky, které byly provedeny a podporovány ASP.NET Core a Entity Framework Core, spolu s jejich interními závislostmi a závislostmi třetích stran. Jednotlivé funkce už nebudete muset 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ě modulu runtime

Aplikace, které používají Microsoft.AspNetCore.All metabalíček, automaticky využívají výhod nového úložiště modulu runtime .NET Core. Store obsahuje všechny prostředky modulu runtime potřebné ke spuštění ASP.NET Core 2.0. Při použití metabalíku se s aplikací nasadí žádné prostředky z odkazovaných balíčků ASP.NET Core NuGet, protože se už nacházejí Microsoft.AspNetCore.All v cílovém systému. Prostředky v runtime obchodě jsou také předkompilovány, aby se zlepšila doba spuštění aplikace.

Další informace najdete v tématu Úložiště modulu runtime.

.NET Standard 2.0

Balíčky ASP.NET Core 2.0 cílí na .NET Standard 2.0. Na balíčky mohou odkazovat jiné knihovny .NET Standard 2.0 a mohou běžet na implementacích .NET kompatibilních s .NET Standard 2.0, včetně .NET Core 2.0 a .NET Framework 4.6.1.

Metabalíček cílí jenom na .NET Core 2.0, protože je určený pro použití s úložištěm modulu Microsoft.AspNetCore.All runtime .NET Core 2.0.

Aktualizace konfigurace

Instance se ve výchozím nastavení přidá do kontejneru služeb IConfiguration ve ASP.NET Core 2.0. IConfiguration v kontejneru services usnadňuje aplikacím načtení hodnot konfigurace z kontejneru.

Informace o stavu plánované dokumentace najdete v tématu GitHub .

Aktualizace protokolování

Ve ASP.NET Core 2.0 se protokolování ve výchozím nastavení začlení do systému injektáže závislostí. Přidáte zprostředkovatele a nakonfigurujete filtrování v souboru Program.cs místo v souboru Startup.cs. Výchozí možnost podporuje filtrování způsobem, který umožňuje použít jeden flexibilní přístup pro filtrování mezi poskytovateli i filtrování ILoggerFactory podle konkrétních poskytovatelů.

Další informace najdete 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í diody.

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 tématu GitHub .

Identity Aktualizace

Ve verzi ASP.NET Core 2.0 jsme usnadnili vytváření Identity zabezpečených webových rozhraní API. Přístupové tokeny pro přístup k webovým rozhraním API můžete získat pomocí knihovny MICROSOFT Authentication Library (MSAL).

Další informace o změnách ověřování ve windows 2.0 najdete v následujících zdrojích informací:

Šablony SPA

K dispozici jsou šablony projektů jedno stránkové aplikace (SPA) pro Angular, Aurelia, Knockout.js, React.js a React.js s Reduxem. Šablona Angular byla aktualizována na verzi Angular 4. Šablony Angular a React jsou ve výchozím nastavení k dispozici. Informace o tom, jak získat další šablony, najdete v tématu Vytvoření nového projektu SPA. Informace o tom, jak vytvořit spa v ASP.NET Core, najdete v tématu Použití služeb JavaScriptu k vytváření aplikací s jedním stránkou v ASP.NET Core .

Kestrel Zlepšení

Webový Kestrel server má nové funkce, které ho přidělí vhodnější jako server s přístupem k internetu. Do nové vlastnosti třídy je přidána řada možností konfigurace KestrelServerOptions omezení Limits 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 byl přejmenován na HTTP.sys

Balíčky Microsoft.AspNetCore.Server.WebListener Microsoft.Net.Http.Server a 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 HTTP.sys webového serveru v ASP.NET Core.

Vylepšená podpora hlaviček HTTP

Při použití MVC k přenosu nebo teď máte možnost nastavit datum nebo pro obsah, FileStreamResult FileContentResult který ETag LastModified odešlete. U vráceného obsahu můžete tyto hodnoty nastavit 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 má odpovídající hlavičky HTTP pro ETag hodnoty LastModified a .

Pokud si návštěvník aplikace vyžádá obsah s hlavičkou Range Request (Požadavek na rozsah), ASP.NET Core požadavek rozpozná a zpracuje hlavičku. Pokud lze požadovaný obsah doručit částečně, ASP.NET Core odpovídajícím způsobem přeskočí a vrátí pouze požadovanou sadu bajtů. Abyste tuto funkci přizpůsobili nebo zvládli, nemusíte do svých metod zapisovat žádné speciální obslužné rutiny. Automaticky se zpracovává za vás.

Hostování spouštění a spouštění aplikací Přehledy

Hostitelská prostředí teď mohou vložit další závislosti balíčků a spustit kód během spouštění aplikace, aniž by aplikace potřebovala explicitně převzít závislost nebo volat jakékoli metody. Tuto funkci můžete použít k tomu, abyste určitým prostředím umožnili "zapnout" funkce, které jsou pro toto prostředí jedinečné, aniž by to aplikace potřebovala předem znát.

Ve ASP.NET Core 2.0 se tato funkce používá k automatickému povolení diagnostiky application Přehledy při ladění v Visual Studio a (po přihlášení) při spuštění v Azure App Services. V důsledku toho už šablony projektů ve výchozím nastavení nedávají Přehledy balíčky a kód.

Informace o stavu plánované dokumentace najdete v tématu GitHub .

Automatické použití tokenů proti padělání

ASP.NET Core ve výchozím nastavení vždy pomáhá obsah kódovat html, ale s novou verzí je proveden další krok, který pomáhá zabránit útokům XSRF (Cross-Site Request Forgery). ASP.NET Core budou nyní ve výchozím nastavení generovat tokeny proti padělání a ověřovat je na akcích a stránkách POST formuláře bez další konfigurace.

Další informace naleznete v tématu Prevence útoků XSRF/CSRF (Cross-Site Request Forgery) v ASP.NET Core.

Automatická předkompilace

Razor Zobrazení předběžné kompilace je ve výchozím nastavení během publikování povolené, což zmenšuje velikost výstupu publikování a dobu spuštění aplikace.

Další informace najdete v tématu Razor o kompilaci a předkompilaciv 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í jazyka C# 7.1, jako jsou výchozí výrazy, odvozené názvy řazených kolekce členů a Pattern-Matching obecnými typy. Pokud chcete ve svém projektu použít C# 7.1, přidejte do souboru projektu následující vlastnost a pak znovu načtěte řešení:

<LangVersion>latest</LangVersion>

Informace o stavu funkcí C# 7.1 najdete v úložišti GitHub Roslyn.

Další aktualizace dokumentace pro 2.0

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 v poznámkách k verzi ASP.NET Core 2.0.

pokud se chcete spojit s průběhem a plány ASP.NET Core vývojového týmu, nalaďte se na ASP.NET Community rychlou schůzku.