ASP.NET Core'a Genel Bakış

Daniel Roth, Rick Anderson ve Shaun Luttin tarafından hazırlanmıştır

Not

Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.

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 8 sürümüne bakın.

Önemli

Bu bilgiler, ticari olarak piyasaya sürülmeden önce önemli ölçüde değiştirilebilen bir yayın öncesi ürünle ilgilidir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.

Geçerli sürüm için bu makalenin .NET 8 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:

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:

İ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

ASP.NET Core uygulamaları geliştirmeye giriş için aşağıdaki öğretici dizisini öneririz:

  1. 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
  2. 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
  3. Tüm uygulama türleri için geçerli ASP.NET Temel bilgilerine genel bir bakış okuyun.

  4. İ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:

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:

İ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ı.

ASP.NET Core uygulamaları geliştirmeye başlamak için şu öğreticileri ve makaleleri takip etmenizi öneririz:

  1. 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
  2. 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
  3. Tüm uygulama türleri için geçerli ASP.NET Temel bilgilerine genel bir bakış okuyun.

  4. İ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.

  1. ASP.NET depo zip dosyasını indirin.
  2. Dosyanın sıkıştırmasını açın AspNetCore.Docs-main.zip .
  3. 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: