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ştirmek
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:
- ASP.NET Core'da hesap onayı ve parola kurtarma
- ASP.NET Core'da kimlik doğrulayıcı uygulamaları için QR Kodu oluşturmayı etkinleştirme
- Kimlik Doğrulamasını ve Identity ASP.NET Core 2.0'a geçirme
SPA şablonları
Redux ile Angular, Aurelia, Knockout.js, React.jsve React.js için Tek Sayfalı Uygulama (SPA) proje şablonları kullanılabilir. 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 KestrelServerOptions
özelliğine Limits
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.AspNetCore.Server.WebListener
paketleri Microsoft.Net.Http.Server
yeni bir paketle Microsoft.AspNetCore.Server.HttpSys
birleş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 FileStreamResult
iletmek FileContentResult
için MVC kullanırken, artık ilettiğiniz içerikte veya ETag
tarihi ayarlama LastModified
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 ETag
LastModified
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 Application Insights
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 Application Insights tanılamasını otomatik olarak etkinleştirmek ve Azure Uygulaması Hizmetleri'nde çalışırken (kabul ettikten sonra) kullanılır. Sonuç olarak, proje şablonları artık application insights paketlerini ve kodunu varsayılan olarak eklemez.
Planlanan belgelerin durumu hakkında bilgi için GitHub sorununa bakın.
Antiforgery 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 antiforgery belirteçleri yayacak ve bunları ek yapılandırma olmadan POST eylemleri ve sayfalarında doğrulayacaktır.
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
- ASP.NET Core uygulama dağıtımı için Visual Studio yayımlama profilleri
- Anahtar Yönetimi
- Facebook kimlik doğrulamayı yapılandırma
- Twitter kimlik doğrulamayı yapılandırma
- Google kimlik doğrulamayı yapılandırma
- Microsoft Hesabı kimlik doğrulamayı yapılandırma
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:
- ASP.NET Core 1.x'ten ASP.NET Core 2.0'a geçiş
- Kimlik Doğrulamasını ve Identity ASP.NET Core 2.0'a geçirme
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.
ASP.NET Core