ASP.NET Core 2.0'daki yeniler
Bu makalede, ilgili belgelerin bağlantılarıyla birlikte ASP.NET Core 2.0'daki en önemli değişiklikler vurgulanır.
Razor Sayfa
RazorSayfalar, sayfa odaklı senaryoları kodlamayı ASP.NET Core daha üretken hale getirirken MVC'nin yeni bir özelliğidir.
Daha fazla bilgi için bkz. giriş ve öğretici:
ASP.NET Core meta paketi
Yeni 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ı da içerir. Artık pakete göre tek tek ASP.NET Core seçmenize gerek yoktur. Tüm özellikler Microsoft.AspNetCore.All paketine dahil edilir. Varsayılan şablonlar bu paketi kullanır.
Daha fazla bilgi için bkz. ASP.NET Core 2.0 için Microsoft.AspNetCore.All meta paketi.
Çalışma Zamanı Deposu
Meta paketi kullanan Microsoft.AspNetCore.All uygulamalar otomatik olarak yeni .NET Core Çalışma Zamanı Deposu'ktan faydalanır. Store, 2.0 uygulamalarını çalıştırmak için ASP.NET Core tüm çalışma zamanı varlıklarını içerir. Meta paketi kullanırken, başvurulan ASP.NET Core NuGet paketlerden hiçbir varlık uygulamayla birlikte dağıtılabilir çünkü bunlar Microsoft.AspNetCore.All zaten hedef sistemde yer alar. Çalışma Zamanı Deposu'daki varlıklar da uygulama başlatma süresini geliştirmek için önceden hazır.
Daha fazla bilgi için bkz. Çalışma zamanı deposu
.NET Standard 2.0
2.0 ASP.NET Core 2.0 .NET Standard 2.0'a yöneliktir. Paketlere diğer .NET Standard 2.0 kitaplıkları tarafından başvurul olabilir ve .NET Core 2.0 ve .NET Framework 4.6.1 dahil olmak üzere .NET'in .NET Standard 2.0 uyumlu uygulamaları üzerinde çalıştırabilirsiniz.
Meta Microsoft.AspNetCore.All paket yalnızca .NET Core 2.0'a yöneliktir çünkü .NET Core 2.0 Çalışma Zamanı Deposu ile birlikte kullanılmak üzere tasarlanmıştır.
Yapılandırma güncelleştirmesi
Örnek, IConfiguration 2.0'da varsayılan olarak ASP.NET Core kapsayıcıya eklenir. IConfiguration hizmet kapsayıcısı içinde uygulamaların kapsayıcıdan yapılandırma değerlerini almalarını kolaylaştırır.
Planlı belgelerin durumu hakkında daha fazla bilgi için sorun GitHub bakın.
Günlük güncelleştirmesi
Bu ASP.NET Core 2.0'da günlük kaydı varsayılan olarak bağımlılık ekleme (DI) sistemine dahil olur. Sağlayıcılar ekler ve Filtrelemeyi Startup.cs dosyası yerine Program.cs dosyasında yapılandırırsanız. Varsayılan değer ise filtrelemeyi hem sağlayıcılar arası filtreleme hem de belirli sağlayıcı filtrelemesi için tek bir esnek ILoggerFactory yaklaşım kullanmanızı sağlayan bir şekilde 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.
web uygulamaları ve web API'leri için kimlik doğrulamasını yapılandırmak için Azure AD B2C.
Planlı belgelerin durumu hakkında daha fazla bilgi için sorun GitHub bakın.
Identity Güncelleştirme
ASP.NET Core 2.0'da kullanarak güvenli web Identity API'leri derlemeyi kolaylaştırdı. Microsoft Authentication Library (MSAL) kullanarak web API'lerine erişmek için erişim belirteçleri edinebilirsiniz.
2.0'daki kimlik doğrulama değişiklikleri hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Hesap doğrulama ve parola kurtarma ASP.NET Core
- ASP.NET Core'de kimlik doğrulayıcı uygulamaları için QR Kodu ASP.NET Core
- Kimlik Doğrulamasını ve Identity ASP.NET Core 2.0'a geçirme
SPA şablonları
redux ile Angular, Aurelia, Knockout.js, React.js ve React.js için Tek Sayfalı Uygulama (SPA) proje şablonları kullanılabilir. Angular şablonu 4. Angular güncelleştirildi. Angular ve React şablonları varsayılan olarak kullanılabilir; Diğer şablonların nasıl edinildikleri hakkında bilgi için bkz. Yeni SPA projesi oluşturma. ASP.NET Core'da SPA oluşturma hakkında bilgi ASP.NET Core. ASP.NET Core içinde tek sayfalı uygulamalar oluşturmak için JavaScript hizmetlerini kullanın .
Kestrel Gelişmeler
Web Kestrel sunucusu, İnternet'e yönelik bir sunucu olarak daha uygun hale gelen yeni özelliklere sahiptir. Sınıfın yeni özelliğine bir dizi sunucu kısıtlama KestrelServerOptions yapılandırma seçeneği Limits eklenir. Aşağıdakiler için sınırlar ekleyin:
- En fazla istemci bağlantısı
- En büyük istek gövdesi boyutu
- En düşük istek gövdesi veri hızı
Daha fazla bilgi için bkz. Kestrel web sunucusu uygulaması ASP.NET Core.
WebListener, HTTP.sys olarak yeniden adlandırıldı
ve Microsoft.AspNetCore.Server.WebListener paketleri Microsoft.Net.Http.Server yeni bir paketle birleştirilmiştir. Microsoft.AspNetCore.Server.HttpSys Ad alanları eşlenecek şekilde güncelleştirildi.
Daha fazla bilgi için bkz.HTTP.sys web sunucusu uygulamasını ASP.NET Core.
Gelişmiş HTTP üst bilgisi desteği
Bir veya iletmek için MVC kullanırken, artık ilettiğiniz FileStreamResult içerik üzerinde bir veya tarih ayarlama FileContentResult ETag LastModified seçeneğiniz vardır. Döndürülen içerikte aşağıdakine benzer bir kodla bu değerleri ayarlayın:
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çilerinize döndürülen dosya ve değerleri için uygun HTTP üst ETag bilgilerine LastModified sahiptir.
Bir uygulama ziyaretçisi Aralık İsteği üst bilgisiyle içerik isteği ASP.NET Core isteği tanır ve üst bilgiyle başa çıkabilir. İstenen içerik kısmen teslim edilebilirse, ASP.NET Core uygun şekilde atlar ve yalnızca istenen bayt kümelerini döndürür. Bu özelliği uyarlamak veya işlemek için yöntemlerinize özel işleyiciler yazmanıza gerek yok; 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 almaya veya herhangi bir yöntemi çağırmaya gerek kalmadan ek paket bağımlılıkları ek olarak uygulama başlatma sırasında kod yürütebilir. Bu özellik, belirli ortamların, uygulamanın önceden bilgi edinmeden bu ortama özgü özellikleri "aydınlatması" için kullanılabilir.
Bu ASP.NET Core 2.0'da bu özellik, Visual Studio'de hata ayıklarken Ve (kabul edildikten sonra) Azure App Services'te çalıştırılırken Application Analizler tanılamasını otomatik olarak etkinleştirmek için kullanılır. Sonuç olarak, proje şablonları artık application Analizler ve kod eklemez.
Planlı belgelerin durumu hakkında daha fazla bilgi için sorun GitHub bakın.
Sahtecilik önleme belirteçlerinin otomatik kullanımı
ASP.NET Core html kodlamaya varsayılan olarak yardımcı oldu, ancak yeni sürümle birlikte siteler arası istek sahtecilik (XSRF) saldırılarını önlemeye yardımcı olmak için ek bir adım atıldı. ASP.NET Core artık varsayılan olarak sahteciliği önleme belirteçleri yayacaktır ve bunları ek yapılandırma olmadan POST eylemleri ve sayfalarında doğrular.
Daha fazla bilgi için bkz. ASP.NET Core siteler arası Istek sahteciliği (XSRF/CSRF) saldırılarını önle.
Otomatik ön derleme
Razor görünüm ön derlemesi varsayılan olarak yayımlama sırasında etkinleştirildiğinden, yayımlama çıkış boyutu ve uygulama başlatma süresi azaltabilirsiniz.
Daha fazla bilgi için, bkz. view Razor compilation and precompilation in ASP.NET Core.
Razor C# 7.1 desteği
Görünüm Razor altyapısı yeni Roslyn derleyicisi ile çalışacak şekilde güncelleştirildi. Buna Varsayılan İfadeler, Enferred Tuple Names gibi C# 7.1 özellikleri ve Genel Türler ile Pattern-Matching desteği dahildir. Projenize 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 Roslyn GitHub bakın.
2.0 için diğer belge güncelleştirmeleri
- Visual Studio dağıtımı için ASP.NET Core yayımlama
- Anahtar Yönetimi
- Facebook kimlik doğrulamasını yapılandırma
- Twitter kimlik doğrulamasını yapılandırma
- Google kimlik doğrulamasını yapılandırma
- Microsoft Hesabı kimlik doğrulamasını yapılandırma
Geçiş kılavuzu
ASP.NET Core 1.x uygulamalarını ASP.NET Core 2.0'a geçirme hakkında rehberlik için aşağıdaki kaynaklara bakın:
- ASP.NET Core 1.x'den 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 ve planlarıyla bağlantı kurmak için, ASP.NET Communityiçin ' i ayarlayın.