ASP.NET Core'a Genel Bakış
Daniel Roth, Rick Anderson ve Shaun Luttin tarafından hazırlanmıştır
Uyarı
ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 9 sürümüne bakın.
ASP.NET Core, modern, bulut özellikli, İnternet'e bağlı uygulamalar oluşturmaya yönelik platformlar arası, yüksek performanslı , açık kaynak bir çerçevedir.
ASP.NET Core ile şunları yapabilirsiniz:
- Web uygulamaları ve hizmetleri, Nesnelerin İnterneti (IoT) uygulamaları ve mobil arka uçlar oluşturun.
- Windows, macOS ve Linux üzerinde tercih ettiğiniz geliştirme araçlarını kullanın.
- Buluta veya şirket içine dağıtın.
- .NET üzerinde çalıştırın.
Neden ASP.NET Core'u seçmelisiniz?
Milyonlarca geliştirici web uygulamaları oluşturmak için ASP.NET 4.x kullanıyor veya kullanıyor. ASP.NET Core, ASP.NET 4.x'in daha yalın, daha modüler bir çerçeveye neden olan mimari değişiklikler de dahil olmak üzere yeniden tasarlanmasıdır.
ASP.NET Core aşağıdaki avantajları sağlar:
- Web kullanıcı arabirimi ve web API’leri oluşturmak için birleşik bir öykü.
- Test edilebilirlik için tasarlanmış.
- Razor Sayfalar , sayfa odaklı senaryoları kodlamayı daha kolay ve daha üretken hale getirir.
- Blazor JavaScript ile birlikte tarayıcıda C# kullanmanıza olanak tanır. .NET ile yazılmış sunucu tarafı ve istemci tarafı uygulama mantığını paylaşın.
- Windows, macOS ve Linux üzerinde geliştirme ve çalıştırma olanağı.
- Açık kaynak ve topluluk odaklı.
- Modern istemci tarafı çerçeveler ile geliştirme iş akışlarının tümleştirilmesi.
- gRPC kullanarak Uzaktan Yordam Çağrısı (RPC) hizmetlerini barındırma desteği.
- Bulutta kullanıma hazır, ortam tabanlı bir yapılandırma sistemi.
- Yerleşik bağımlılık ekleme.
- Basit, yüksek performanslı ve modüler bir HTTP istek işlem hattı.
- Aşağıdakileri barındırabilme özelliği:
- Yan yana sürüm oluşturma.
- Modern web geliştirmeyi basitleştiren araçlar.
ASP.NET Core MVC kullanarak web API'leri ve web kullanıcı arabirimi oluşturma
ASP.NET Core MVC, web API’leri ve web uygulamaları oluşturmaya yönelik özellikler sağlar:
- Model-Görünüm-Denetleyici (MVC) deseni, web API'lerinin ve web uygulamalarının sınanabilir olmasını sağlamanıza yardımcı olur.
- Razor Sayfalar , web kullanıcı arabirimi oluşturmayı daha kolay ve daha üretken hale getiren sayfa tabanlı bir programlama modelidir.
- Razorişaretleme, Sayfalar ve MVC görünümleri için Razor üretken bir söz dizimi sağlar.
- Etiket Yardımcıları, Razor dosyalarında HTML öğelerinin oluşturulmasına ve işlenmesine sunucu tarafı kodun katılmasını etkinleştirir.
- Birden çok veri biçimi ve içerik anlaşması için sunulan yerleşik destek, web API'lerinizin tarayıcılar ve mobil cihazlar dahil olmak üzere birçok çeşit istemciye ulaşmasına imkan tanır.
- Model bağlama, HTTP isteklerinden alınan verileri otomatik olarak eylem metodu parametreleriyle eşleştirir.
- Model doğrulama, otomatik olarak istemci ve sunucu tarafı doğrulama gerçekleştirir.
İstemci tarafı geliştirme
ASP.NET Core, zengin etkileşimli web kullanıcı arabirimi oluşturmaya yöneliktir Blazor ve ayrıca Angular, React, Vue ve Bootstrap gibi diğer popüler ön uç JavaScript çerçeveleriyle tümleşir. Daha fazla bilgi için bkz. İstemci tarafı geliştirme altındaki ASP.NET Core Blazor ve ilgili konular.
ASP.NET Core hedef çerçeveleri
ASP.NET Core 3.x veya üzeri yalnızca .NET'i hedefleyebilir.
.NET'i hedeflemenin çeşitli avantajları vardır ve bu avantajlar her sürümde artar. .NET'in .NET Framework'e göre bazı avantajları şunlardır:
- Platformlar arası. Windows, macOS ve Linux üzerinde çalışır.
- Artan performans
- Yan yana sürüm oluşturma
- Yeni API'ler
- Açık kaynak
Önerilen öğrenme yolu
ASP.NET Core uygulamaları geliştirmeye giriş için aşağıdaki öğretici dizisini öneririz:
Geliştirmek veya korumak istediğiniz uygulama türü için bir öğretici izleyin.
Uygulama türü Senaryo Öğretici Web uygulaması Yeni sunucu tarafı web kullanıcı arabirimi geliştirme Pages'ı kullanmaya Razor başlama Web uygulaması MVC uygulamasını koruma MVC ile çalışmaya başlama Web uygulaması İstemci tarafı web kullanıcı arabirimi geliştirme Kullanmaya başlama Blazor Web API'si RESTful HTTP hizmetleri Web API'si oluşturun† Uzaktan Yordam Çağrısı uygulaması Protokol Arabelleklerini kullanan sözleşme öncelikli hizmetler gRPC hizmetini kullanmaya başlama Gerçek zamanlı uygulama Sunucular ve bağlı istemciler arasında çift yönlü iletişim Kullanmaya başlama SignalR Temel veri erişiminin nasıl yapılacağını gösteren bir öğreticiyi izleyin.
Senaryo Öğretici Yeni geliştirme Razor Entity Framework Core içeren sayfalar MVC uygulamasını koruma Entity Framework Core ile MVC Tüm uygulama türleri için geçerli ASP.NET Temel bilgilerine genel bir bakış okuyun.
İlgilenen diğer konular için içindekiler tablosuna göz atın.
† Ayrıca etkileşimli bir web API'si öğreticisi de vardır. Geliştirme araçlarının yerel olarak yüklenmesi gerekmez. Kod tarayıcınızdaki bir Azure Cloud Shell'de çalışır ve curl test için kullanılır.
.NET Framework'ten geçiş
ASP.NET 4.x uygulamalarını ASP.NET Core'a geçirme başvuru kılavuzu için bkz . ASP.NET'den ASP.NET Core'a güncelleştirme.
ASP.NET Core, modern, bulut özellikli, İnternet'e bağlı uygulamalar oluşturmaya yönelik platformlar arası, yüksek performanslı , açık kaynak bir çerçevedir. ASP.NET Core ile şunları yapabilirsiniz:
- Web uygulamaları ve hizmetleri, Nesnelerin İnterneti (IoT) uygulamaları ve mobil arka uçlar oluşturun.
- Windows, macOS ve Linux üzerinde tercih ettiğiniz geliştirme araçlarını kullanın.
- Buluta veya şirket içine dağıtın.
- .NET Core veya .NET Framework üzerinde çalıştırın.
Neden ASP.NET Core'u seçmelisiniz?
Milyonlarca geliştirici web uygulamaları oluşturmak için ASP.NET 4.x kullanıyor veya kullanıyor. ASP.NET Core, ASP.NET 4.x sürümünün daha yalın, daha modüler bir çerçeve elde edilmesini sağlayan mimari değişikliklerle yeniden tasarlanmış halidir.
ASP.NET Core aşağıdaki avantajları sağlar:
- Web kullanıcı arabirimi ve web API’leri oluşturmak için birleşik bir öykü.
- Test edilebilirlik için tasarlanmış.
- Razor Sayfalar , sayfa odaklı senaryoları kodlamayı daha kolay ve daha üretken hale getirir.
- Blazor JavaScript ile birlikte tarayıcıda C# kullanmanıza olanak tanır. .NET ile yazılmış sunucu tarafı ve istemci tarafı uygulama mantığını paylaşın.
- Windows, macOS ve Linux üzerinde geliştirme ve çalıştırma olanağı.
- Açık kaynak ve topluluk odaklı.
- Modern istemci tarafı çerçeveler ile geliştirme iş akışlarının tümleştirilmesi.
- gRPC kullanarak Uzaktan Yordam Çağrısı (RPC) hizmetlerini barındırma desteği.
- Bulutta kullanıma hazır, ortam tabanlı bir yapılandırma sistemi.
- Yerleşik bağımlılık ekleme.
- Basit, yüksek performanslı ve modüler bir HTTP istek işlem hattı.
- Aşağıdakileri barındırabilme özelliği:
- Yan yana sürüm oluşturma.
- Modern web geliştirmeyi basitleştiren araçlar.
ASP.NET Core MVC kullanarak web API'leri ve web kullanıcı arabirimi oluşturma
ASP.NET Core MVC, web API’leri ve web uygulamaları oluşturmaya yönelik özellikler sağlar:
- Model-Görünüm-Denetleyici (MVC) deseni, web API'lerinin ve web uygulamalarının sınanabilir olmasını sağlamanıza yardımcı olur.
- Razor Sayfalar , web kullanıcı arabirimi oluşturmayı daha kolay ve daha üretken hale getiren sayfa tabanlı bir programlama modelidir.
- Razorişaretleme, Sayfalar ve MVC görünümleri için Razor üretken bir söz dizimi sağlar.
- Etiket Yardımcıları, Razor dosyalarında HTML öğelerinin oluşturulmasına ve işlenmesine sunucu tarafı kodun katılmasını etkinleştirir.
- Birden çok veri biçimi ve içerik anlaşması için sunulan yerleşik destek, web API'lerinizin tarayıcılar ve mobil cihazlar dahil olmak üzere birçok çeşit istemciye ulaşmasına imkan tanır.
- Model bağlama, HTTP isteklerinden alınan verileri otomatik olarak eylem metodu parametreleriyle eşleştirir.
- Model doğrulama, otomatik olarak istemci ve sunucu tarafı doğrulama gerçekleştirir.
İstemci tarafı geliştirme
ASP.NET Core, , Angular, React, Vue ve Bootstrap gibi Blazorpopüler istemci tarafı çerçeveleri ve kitaplıklarıyla sorunsuz bir şekilde tümleşir. Daha fazla bilgi için bkz. İstemci tarafı geliştirme altındaki ASP.NET Core Blazor ve ilgili konular.
.NET Framework'ü hedefleyen ASP.NET Core
ASP.NET Core 2.x, .NET Core'u veya .NET Framework'ü hedefleyebilir. .NET Framework'i hedefleyen ASP.NET Core uygulamaları platformlar arası değildir; yalnızca Windows üzerinde çalışır. Genel olarak, ASP.NET Core 2.x .NET Standard kitaplıklarından oluşturulmuştur. .NET Standard 2.0 ile yazılan kitaplıklar, .NET Standard 2.0'ı uygulayan herhangi bir .NET platformunda çalışır.
ASP.NET Core 2.x, .NET Standard 2.0 uygulayan .NET Framework sürümlerinde desteklenir:
- .NET Framework'ün en son sürümü önerilir.
- .NET Framework 4.6.1 veya üzeri.
ASP.NET Core 3.0 veya üzeri yalnızca .NET Core üzerinde çalışır. Bu değişiklik hakkında daha fazla bilgi için bkz. ASP.NET Core 3.0’daki değişikliklere ilk bakış.
.NET Core hedeflemesinin çeşitli avantajları vardır ve bu avantajlar her yeni sürümle birlikte artmaktadır. .NET Framework'e göre .NET Core'un bazı avantajları şunlardır:
- Platformlar arası. macOS, Linux ve Windows üzerinde çalışır.
- Artan performans
- Yan yana sürüm oluşturma
- Yeni API'ler
- Açık kaynak
.NET Framework'ten .NET Core'a API açığını kapatmaya yardımcı olmak için Windows Uyumluluk Paketi, .NET Core'da yalnızca Windows'a özgü binlerce API'yi kullanılabilir hale getirdi. Bu API'ler .NET Core 1.x'te sağlanmamıştı.
Önerilen öğrenme yolu
ASP.NET Core uygulamaları geliştirmeye başlamak için şu öğreticileri ve makaleleri takip etmenizi öneririz:
Geliştirmek veya bakımını yapmak istediğiniz uygulama türü için bir öğretici izleyin.
Uygulama türü Senaryo Öğretici Web uygulaması Yeni proje geliştirmek için Pages'ı kullanmaya Razor başlama Web uygulaması MVC uygulaması yönetmek için MVC ile çalışmaya başlama Web API'si Web API'si oluşturun† Gerçek zamanlı uygulama Kullanmaya başlama SignalR Temel veri erişiminin nasıl yapılacağını gösteren bir öğreticiyi izleyin.
Senaryo Öğretici Yeni proje geliştirmek için Razor Entity Framework Core içeren sayfalar MVC uygulaması yönetmek için Entity Framework Core ile MVC Tüm uygulama türleri için geçerli ASP.NET Temel bilgilerine genel bir bakış okuyun.
İlgilendiğiniz diğer konular için İçindekiler Tablosu’na göz atın.
†Tam tarayıcıda takip ettiğiniz bir web API'si öğreticisi de vardır; yerel IDE yüklemesi gerekmez. Kod Azure Cloud Shell’de çalışır, curl ise test için kullanılır.
.NET Framework'ten geçiş
ASP.NET uygulamalarını ASP.NET Core'a geçirmeye yönelik bir başvuru kılavuzu için bkz . ASP.NET'dan ASP.NET Core'a güncelleştirme.
Örnek indirme
Çoğu makale ve öğretici örnek koda bağlantılar içerir.
- ASP.NET depo zip dosyasını indirin.
- Dosyanın sıkıştırmasını açın
AspNetCore.Docs-main.zip
. - Bir makalenin sıkıştırması açılmış depodaki örnek uygulamasına erişmek için makalenin örnek bağlantısındaki URL'yi kullanarak örneğin klasörüne gitmenize yardımcı olun. Genellikle makalenin örnek bağlantısı makalenin üst kısmında Örnek kodu görüntüle veya indir bağlantı metniyle gösterilir.
Örnek kodda ön işlemci yönergeleri
Birden çok senaryoyu göstermek için örnek uygulamalar, örnek kodun #define
farklı bölümlerini seçmeli olarak derlemek ve çalıştırmak için ve #if-#else/#elif-#endif
önişlemci yönergelerini kullanır. Bu yaklaşımı kullanan örnekler için, çalıştırmak istediğiniz senaryoyla ilişkili simgeyi tanımlamak için C# dosyalarının en üstündeki yönergesini ayarlayın #define
. Bazı örneklerin bir senaryoyu çalıştırmak için birden çok dosya üst kısmında sembol tanımlaması gerekir.
Örneğin, aşağıdaki simge listesi #define
dört senaryonun kullanılabilir olduğunu gösterir (her simge için bir senaryo). Geçerli örnek yapılandırması TemplateCode
senaryosunu çalıştırır:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Örneği ExpandDefault
senaryosunu çalıştıracak şekilde değiştirmek için ExpandDefault
simgesini tanımlayın ve kalan simgeleri açıklama satırı yapılmış şekilde bırakın:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Kod bölümlerini seçmeli olarak derlemek üzere C# ön işlemci yönergelerini kullanma hakkında daha fazla bilgi için bkz. #define (C# Başvurusu) ve #if (C# Başvurusu).
Hataya neden olan değişiklikler ve güvenlik önerileri
Hataya neden olan değişiklikler ve güvenlik önerileri Duyurular deposunda bildirilir. Etiket filtresi seçilerek duyurular belirli bir sürümle sınırlandırılabilir.
Sonraki adımlar
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- ASP.NET Core kullanmaya başlama
- Visual Studio ile Azure’a ASP.NET Core uygulaması yayımlama
- ASP.NET Core temelleri
- Haftalık ASP.NET topluluğu toplantısında, takımın ilerleme durumu ve planları ele alınır. Yeni bloglara ve üçüncü taraf yazılıma yer verilir.
ASP.NET Core