ASP.NET Core 2.0'daki yenilikler

Bu makalede, ASP.NET Core 2.0'daki en önemli değişiklikler ve ilgili belgelerin bağlantıları vurgulanır.

Razor Pages

Razor Sayfalar, ASP.NET Core MVC'nin sayfa odaklı senaryoları kodlamayı daha kolay ve daha üretken hale getiren yeni bir özelliğidir.

Daha fazla bilgi için giriş ve öğreticiye bakın:

ASP.NET Core meta paketi

Yeni bir ASP.NET Core meta paketi, ASP.NET Core ve Entity Framework Core ekipleri tarafından yapılan ve desteklenen tüm paketlerin yanı sıra iç ve üçüncü taraf bağımlılıklarını içerir. Artık pakete göre tek tek ASP.NET Core özelliklerini seçmeniz gerekmez. Tüm özellikler Microsoft.AspNetCore.All paketine dahildir. Varsayılan şablonlar bu paketi kullanır.

Daha fazla bilgi için bkz . ASP.NET Core 2.0 için Microsoft.AspNetCore.All metapackage.

Çalışma Zamanı Deposu

Meta paketi kullanan Microsoft.AspNetCore.All uygulamalar, yeni .NET Core Çalışma Zamanı Deposu'nun avantajlarından otomatik olarak yararlanir. Mağaza, ASP.NET Core 2.0 uygulamalarını çalıştırmak için gereken tüm çalışma zamanı varlıklarını içerir. Meta paketi kullandığınızda Microsoft.AspNetCore.All , başvuruda bulunılan ASP.NET Core NuGet paketlerinden hiçbir varlık hedef sistemde bulunduğundan uygulamayla dağıtılmaz. Çalışma Zamanı Deposu'ndaki varlıklar da uygulama başlatma süresini geliştirmek için önceden derlenir.

Daha fazla bilgi için bkz . Çalışma zamanı deposu

.NET Standard 2.0

ASP.NET Core 2.0 paketleri .NET Standard 2.0'i hedefler. Paketlere diğer .NET Standard 2.0 kitaplıkları tarafından başvurulabilir ve .NET Core 2.0 ve .NET Framework 4.6.1 gibi .NET Standard 2.0 uyumlu uygulamalarında çalıştırılabilir.

Microsoft.AspNetCore.All Meta paket yalnızca .NET Core 2.0'ı hedefler çünkü .NET Core 2.0 Çalışma Zamanı Deposu ile kullanılması amaçlanmıştır.

Yapılandırma güncelleştirmesi

ASP.NET Core 2.0'da hizmetler kapsayıcısına varsayılan olarak bir IConfiguration örnek eklenir. IConfiguration hizmetler kapsayıcısında uygulamaların kapsayıcıdan yapılandırma değerlerini almasını kolaylaştırır.

Planlanan belgelerin durumu hakkında bilgi için GitHub sorununa bakın.

Günlük güncelleştirmesi

ASP.NET Core 2.0'da günlük kaydı varsayılan olarak bağımlılık ekleme (DI) sistemine eklenir. Sağlayıcılar ekler ve dosya yerine dosyada Program.cs filtrelemeyi Startup.cs yapılandırabilirsiniz. Varsayılan değer ILoggerFactory , hem sağlayıcılar arası filtreleme hem de belirli sağlayıcı filtrelemesi için tek bir esnek yaklaşım kullanmanıza olanak tanıyan bir şekilde filtrelemeyi destekler.

Daha fazla bilgi için bkz . Günlüğe kaydetmeye giriş.

Kimlik doğrulama güncelleştirmesi

Yeni bir kimlik doğrulama modeli, DI kullanarak bir uygulama için kimlik doğrulamasını yapılandırmayı kolaylaştırır.

Azure AD B2C kullanarak web uygulamaları ve web API'leri için kimlik doğrulamasını yapılandırmak için yeni şablonlar kullanılabilir.

Planlanan belgelerin durumu hakkında bilgi için GitHub sorununa bakın.

Identity Güncelleştirme

ASP.NET Core 2.0'da kullanarak Identity güvenli web API'leri oluşturmayı kolaylaştırdık. Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanarak web API'lerinize erişmek için erişim belirteçleri alabilirsiniz.

2.0'daki kimlik doğrulama değişiklikleri hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

SPA şablonları

Redux ile Angular, Aurelia, Knockout.js, React.js ve React.js için Tek Sayfalı Uygulama (SPA) proje şablonları mevcuttur. Angular şablonu Angular 4 olarak güncelleştirildi. Angular ve React şablonları varsayılan olarak kullanılabilir; Diğer şablonları alma hakkında bilgi için bkz . Yeni SPA projesi oluşturma. ASP.NET Core'da SPA oluşturma hakkında daha fazla bilgi için bu makalede açıklanan özellikler ASP.NET Core 3.0 sürümünden itibaren kullanım dışıdır.

Kestrel Gelişmeler

Web Kestrel sunucusu, İnternet'e yönelik bir sunucu olarak daha uygun hale getiren yeni özelliklere sahiptir. Sınıfın yeni Limits özelliğine KestrelServerOptions bir dizi sunucu kısıtlaması yapılandırma seçeneği eklenir. Aşağıdakiler için sınırlar ekleyin:

  • En fazla istemci bağlantısı
  • Maksimum istek gövdesi boyutu
  • En düşük istek gövdesi veri hızı

Daha fazla bilgi için bkz Kestrel . ASP.NET Core'da web sunucusu uygulaması.

WebListener HTTP.sys olarak yeniden adlandırıldı

ve Microsoft.Net.Http.Server paketleri Microsoft.AspNetCore.Server.WebListener yeni bir paketle Microsoft.AspNetCore.Server.HttpSysbirleştirilmiştir. Ad alanları eşleşecek şekilde güncelleştirildi.

Daha fazla bilgi için, bkz. ASP.NET Core'da HTTP.sys web sunucusu uygulamaları.

Gelişmiş HTTP üst bilgisi desteği

veya FileContentResultiletmek FileStreamResult için MVC kullanırken, artık ilettiğiniz içerikte veya LastModified tarihi ayarlama ETag seçeneğiniz vardır. Döndürülen içerikte aşağıdakine benzer bir kodla bu değerleri ayarlayabilirsiniz:

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

Ziyaretçilerine döndürülen dosya ve değerleri için uygun HTTP üst bilgilerine ETagLastModified sahip.

Uygulama ziyaretçisi Bir Aralık İsteği üst bilgisine sahip içerik isterse, ASP.NET Core isteği tanır ve üst bilgiyi işler. İstenen içerik kısmen teslim edilebiliyorsa, ASP.NET Core uygun şekilde atlar ve yalnızca istenen bayt kümesini döndürür. Bu özelliği uyarlamak veya işlemek için yöntemlerinize özel işleyiciler yazmanız gerekmez; sizin için otomatik olarak işlenir.

Barındırma başlatma ve Uygulama Analizler

Barındırma ortamları artık uygulamanın açıkça bağımlılık almasına veya herhangi bir yöntemi çağırmasına gerek kalmadan uygulama başlatma sırasında ek paket bağımlılıkları ekleyebilir ve kod yürütebilir. Bu özellik, belirli ortamların uygulamanın önceden bilmesi gerekmeden bu ortama özgü özellikleri "aydınlatmasını" sağlamak için kullanılabilir.

ASP.NET Core 2.0'da bu özellik, Visual Studio'da hata ayıklarken ve Azure Uygulaması Hizmetleri'nde çalışırken (kabul ettikten sonra) Uygulama Analizler tanılamasını otomatik olarak etkinleştirmek için kullanılır. Sonuç olarak, proje şablonları artık application Analizler paketlerini ve kodunu varsayılan olarak eklemez.

Planlanan belgelerin durumu hakkında bilgi için GitHub sorununa bakın.

Sahteciliğe karşı koruma belirteçlerinin otomatik kullanımı

ASP.NET Core her zaman varsayılan olarak HTML kodlamasına yardımcı olmuştur, ancak yeni sürümde siteler arası istek sahteciliği (XSRF) saldırılarını önlemeye yardımcı olmak için ek bir adım atılır. ASP.NET Core artık varsayılan olarak sahteciliğe karşı koruma belirteçleri yayacak ve bunları ek yapılandırma olmadan POST eylemleri ve sayfalarında doğrulayacak.

Daha fazla bilgi için, bkz. ASP.NET Core'da Siteler Arası İstek Sahteciliği (XSRF/CSRF) saldırılarını önleme.

Otomatik ön derleme

Razor görünüm ön derlemesi, yayımlama sırasında varsayılan olarak etkindir ve yayımlama çıktısı boyutunu ve uygulama başlatma süresini kısaltır.

Daha fazla bilgi için bkz Razor . ASP.NET Core'da derlemeyi ve ön derlemeyi görüntüleme.

Razor C# 7.1 desteği

Görünüm Razor altyapısı, yeni Roslyn derleyicisiyle çalışacak şekilde güncelleştirildi. Bu, Varsayılan İfadeler, Çıkarsanan Tanımlama Grubu Adları ve Genel Değerlerle Desen Eşleştirme gibi C# 7.1 özellikleri için destek içerir. Projenizde C# 7.1'i kullanmak için proje dosyanıza aşağıdaki özelliği ekleyin ve çözümü yeniden yükleyin:

<LangVersion>latest</LangVersion>

C# 7.1 özelliklerinin durumu hakkında bilgi için bkz . Roslyn GitHub deposu.

2.0 için diğer belge güncelleştirmeleri

Geçiş kılavuzu

ASP.NET Core 1.x uygulamalarını ASP.NET Core 2.0'a geçirme yönergeleri için aşağıdaki kaynaklara bakın:

Ek Bilgi

Değişikliklerin tam listesi için bkz . ASP.NET Core 2.0 Sürüm Notları.

ASP.NET Core geliştirme ekibinin ilerleme durumu ve planlarıyla bağlantı kurmak için ASP.NET Topluluk Standup'ına gidin.