Megosztás a következőn keresztül:


A ASP.NET Core 2.0 újdonságai

Ez a cikk a ASP.NET Core 2.0 legfontosabb változásait emeli ki, a vonatkozó dokumentációra mutató hivatkozásokkal.

Razor lapok

Razor Pages a ASP.NET Core MVC új funkciója, amely megkönnyíti és hatékonyabbá teszi az oldalközpontú forgatókönyvek kódolását.

További információkért lásd a bevezetést és az oktatóanyagot:

ASP.NET Core metapackage

Egy új ASP.NET Core-metacsomag tartalmazza az ASP.NET Core- és Entity Framework Core-csapatok által készített és támogatott összes csomagot, valamint azok belső és külső függőségeit. Már nem kell külön ASP.NET Core-funkciókat választania csomagonként. Minden funkció megtalálható a Microsoft.AspNetCore.All csomagban. Az alapértelmezett sablonok ezt a csomagot használják.

További információkért lásd: A Microsoft.AspNetCore.All metacsomag az ASP.NET Core 2.0-hoz.

Futtatókörnyezeti tároló

A Microsoft.AspNetCore.All metacsomagot használó alkalmazások automatikusan kihasználják az új .NET Core runtime Store előnyeit. Az Áruház tartalmazza az ASP.NET Core 2.0-alkalmazások futtatásához szükséges összes futtatókörnyezeti eszközt. A Microsoft.AspNetCore.All metapackage használatakor a hivatkozott ASP.NET Core NuGet-csomagokból nem lesznek üzembe helyezve eszközök az alkalmazással, mert azok már a célrendszeren találhatók. A Runtime Store-ban lévő eszközök is előre összeállítottak az alkalmazás indítási idejének javítása érdekében.

További információ: Runtime Store

.NET Standard 2.0

A ASP.NET Core 2.0-csomagok célja a .NET Standard 2.0. A csomagokra más .NET Standard 2.0-s kódtárak is hivatkozhatnak, és a .NET Standard 2.0 szabványnak megfelelő .NET-implementációkon futtathatók, beleértve a .NET Core 2.0-t és a .NET-keretrendszer 4.6.1-et.

A Microsoft.AspNetCore.All metacsomag csak a .NET Core 2.0-t célozza meg, mivel a .NET Core 2.0 futtatókörnyezeti tárolóval való használatra szolgál.

Konfigurációs frissítés

Alapértelmezés szerint egy IConfiguration-példány lesz hozzáadva a szolgáltatástárolóhoz ASP.NET Core 2.0-ban. IConfiguration a szolgáltatástárolóban megkönnyíti az alkalmazások számára a konfigurációs értékek lekérését a tárolóból.

A tervezett dokumentáció állapotáról további információért lásd a(z) GitHub probléma.

Naplózási frissítés

A ASP.NET Core 2.0-ban a naplózás alapértelmezés szerint be van építve a függőséginjektálási (DI) rendszerbe. A Startup.cs fájl helyett a Program.cs fájlban adhat hozzá szolgáltatókat, és konfigurálhatja a szűrést. Az alapértelmezett ILoggerFactory pedig úgy támogatja a szűrést, hogy egyetlen rugalmas módszert használjon a szolgáltatóközi szűréshez és a konkrét szolgáltatók szűréséhez.

További információért lásd: Bevezetés a naplózásba.

Hitelesítési frissítés

Az új hitelesítési modell megkönnyíti a hitelesítés konfigurálását egy alkalmazáshoz a DI használatával.

Új sablonok érhetők el a webalkalmazások és webes API-k hitelesítésének konfigurálásához Azure AD B2Chasználatával.

A tervezett dokumentáció állapotával kapcsolatos információkért lásd a GitHub problémát.

Identity frissítés

Egyszerűbbé tettük a biztonságos webes API-k létrehozását Identity használatával a ASP.NET Core 2.0-ban. A webes API-k eléréséhez hozzáférési jogkivonatokat a Microsoft Authentication Library (MSAL)használatával szerezhet be.

A 2.0-s hitelesítés változásaival kapcsolatos további információkért tekintse meg a következő erőforrásokat:

SPA-sablonok

Az Egyoldalas alkalmazások (SPA) projektsablonjai Angulart, Aureliát, Knockout.js-t, React.js-et és React.js-t használó verziókban elérhetők. Az Angular-sablon az Angular 4-be lett frissítve. Az Angular- és React-sablonok alapértelmezés szerint elérhetők; A többi sablon beszerzéséről további információt a Új SPA-projekt létrehozásacímű témakörben talál. A SPA ASP.NET Core-ban való létrehozásáról további információért lásd: . A cikkben ismertetett funkciók elavultak az ASP.NET Core 3.0 verzió óta.

Kestrel fejlesztések

A Kestrel webkiszolgáló olyan új funkciókkal rendelkezik, amelyek alkalmasabbá teszik az internetes kiszolgálóként való használatra. A KestrelServerOptions osztály új Limits tulajdonságában számos kiszolgáló korlátozására vonatkozó konfigurációs beállítást adtak hozzá. Adjon hozzá korlátokat a következőkhöz:

  • Ügyfélkapcsolatok maximális száma
  • Kérelemtörzs maximális mérete
  • A kérelem törzsének minimális adatátviteli sebessége

További információkért lásd az Kestrel webkiszolgáló ASP.NET Coreimplementációját.

WebListener átnevezve HTTP.sys

A Microsoft.AspNetCore.Server.WebListener és Microsoft.Net.Http.Server csomagokat egy új csomag Microsoft.AspNetCore.Server.HttpSysegyesítették. A névterek frissültek, hogy egyezzenek.

További információ az HTTP.sys webkiszolgáló ASP.NET Coreimplementációjáról.

Továbbfejlesztett HTTP-fejléctámogatás

Ha MVC-t használ egy FileStreamResult vagy egy FileContentResulttovábbításához, lehetősége van ETag vagy LastModified dátumot beállítani a továbbított tartalomra. Ezeket az értékeket a visszaadott tartalomra az alábbihoz hasonló kóddal állíthatja be:

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);

A látogatóknak visszaadott fájl a megfelelő HTTP-fejlécekkel rendelkezik a ETag és LastModified értékekhez.

Ha egy alkalmazás látogatója Tartománykérés fejléccel kér tartalmat, ASP.NET Core felismeri a kérést, és kezeli a fejlécet. Ha a kért tartalom részben kézbesíthető, ASP.NET Core megfelelően kihagyja, és csak a kért bájtkészletet adja vissza. A funkció adaptálásához vagy kezeléséhez nem kell speciális kezelőket írnia a metódusokba; automatikusan kezeli a rendszer.

Az alkalmazáshoszting elindítása és az Application Insights használata

Az üzemeltetési környezetek mostantól további csomagfüggőségeket injektálhatnak, és kódot futtathatnak az alkalmazás indítása során anélkül, hogy az alkalmazásnak explicit módon függőséget kellene használnia vagy bármilyen metódust meghívnia. Ez a funkció lehetővé teszi bizonyos környezetek számára az adott környezetben egyedi funkciók "megvilágítását" anélkül, hogy az alkalmazásnak előre tudnia kellene.

A ASP.NET Core 2.0-ban ez a funkció automatikusan engedélyezi az Application Insights diagnosztikát a Visual Studióban végzett hibakereséskor és (a bejelentkezés után) az Azure App Servicesben való futtatáskor. Ennek eredményeképpen a projektsablonok alapértelmezés szerint nem adnak hozzá Application Insights-csomagokat és kódot.

A tervezett dokumentáció állapotáról további információért lásd a GitHub számon található-es problémát.

Azonosítási tokenek automatikus használata

ASP.NET A Core alapértelmezés szerint mindig segített a HTML-kódolásban, de az új verzióval további lépésekkel megelőzhető a helyek közötti kérelemhamisítási (XSRF-) támadások. ASP.NET Core mostantól alapértelmezés szerint bocsát ki antiforgery jogkivonatokat, és további konfiguráció nélkül érvényesíti őket az űrlap POST műveleteiben és oldalain.

További információért lásd: Az ASP.NET Core alkalmazásban történő helyek közötti kéréshamisítás (XSRF/CSRF) elleni támadások megakadályozása.

Automatikus előfordítás

Razor kompiláció előtti fordítás alapértelmezés szerint engedélyezve van a közzététel során, csökkentve a közzététel kimeneti méretét és az alkalmazás indítási idejét.

További információkért tekintse meg az ASP.NET Corefordítási és előfordítási beállításait a résznél.

Razor C# 7.1 támogatása

Az új Roslyn fordítóval való kompatibilitás érdekében a Razor nézetmotor frissítésre került. Ez magában foglalja a C# 7.1 olyan funkcióinak támogatását, mint az alapértelmezett kifejezések, az inferred tuple-nevek és Pattern-Matching a generikumokkal. Ha a C# 7.1-et szeretné használni a projektben, adja hozzá a következő tulajdonságot a projektfájlhoz, majd töltse be újra a megoldást:

<LangVersion>latest</LangVersion>

A C# 7.1-funkciók állapotáról további információt a Roslyn GitHub-adattár .

A 2.0 egyéb dokumentációs frissítései

Migrálási útmutató

Az ASP.NET Core 1.x-alkalmazások ASP.NET Core 2.0-ra való migrálásával kapcsolatos útmutatásért tekintse meg a következő erőforrásokat:

További információk

A módosítások teljes listáját lásd a ASP.NET Core 2.0 kiadási megjegyzésekben.

Ha csatlakozni szeretne az ASP.NET Core fejlesztési csapatának előrehaladásához és terveihez, hangoljon a ASP.NET Közösségi standupra.