Aracılığıyla paylaş


ASP.NET Core'a Genel Bakış

Daniel Roth, Rick Anderson ve Shaun Luttin tarafından

Not

Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 9 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 9 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 9 sürümüne bakın.

ASP.NET Core, modern web uygulamaları oluşturmaya yönelik platformlar arası, yüksek performanslı bir çerçevedir. Bu açık kaynak çerçevesi, geliştiricilerin Windows, macOS ve Linux üzerinde çalışabilen web uygulamaları, hizmetler ve API'ler oluşturmasına olanak tanır. Büyük ölçekli uygulama geliştirme için oluşturulmuştur ve her boyuttaki iş yükünü işleyebilir ve kurumsal düzeyde uygulamalar için sağlam bir seçimdir.

ASP.NET Core ile şunları yapabilirsiniz:

  • Web uygulamaları ve hizmetleri, Azure IoT (Nesnelerin İnterneti) 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'i 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:

  • Model-View-Controller (MVC) deseni, web API'lerinizi ve web uygulamalarınızı test edilebilir hale getirmenize yardımcı olur.
  • Blazor, WebAssembly aracılığıyla hem sunucu tarafı işlemeyi hem de istemci tarafı işlemeyi destekleyen C# tabanlı bileşen tabanlı web ui çerçevesi.
  • Razor Sayfalar , web kullanıcı arabirimi oluşturmayı daha kolay ve daha üretken hale getiren sayfa tabanlı bir programlama modelidir.
  • Razor işaretleme, Sayfalar ve Razor için üretken bir söz dizimi sağlar.
  • Etiket Yardımcıları , sunucu tarafı kodunun dosyalarda HTML öğeleri Razor oluşturma ve işlemeye katılmasını sağlar.
  • Birden çok veri biçimi ve içerik anlaşması için yerleşik destek, web API'lerinizin tarayıcılar ve mobil cihazlar da dahil olmak üzere çok çeşitli istemcilere ulaşmasını sağlar.
  • Model bağlama , HTTP isteklerindeki verileri otomatik olarak eylem yöntemi parametrelerine eşler.
  • Model doğrulaması otomatik olarak istemci tarafı 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. Blazor altındaki ASP.NET Core 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
  • Eşzamanlı sürümleme
  • 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ı İstemci tarafı web kullanıcı arabirimi geliştirme Kullanmaya başlama Blazor
    Web uygulaması Yeni sunucu tarafı web kullanıcı arabirimi geliştirme Pages'ı kullanmaya Razor başlama
    Web uygulaması MVC uygulamasını koruma MVC kullanmaya başlama
    Web API'si RESTful HTTP hizmetleri Web API'si oluşturma
    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 Blazor Entity Framework Core ile
    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çirmeye yönelik bir başvuru kılavuzu için bkz. ASP.NET Framework'ten ASP.NET Core'a geçiş.

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:

Neden ASP.NET Core'u seçmelisiniz?

Milyonlarca geliştirici web uygulamaları oluşturmak için ASP.NET 4.x'i 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:

  • Model-View-Controller (MVC) deseni, web API'lerinizi ve web uygulamalarınızı test edilebilir hale getirmenize yardımcı olur.
  • Razor Sayfalar , web kullanıcı arabirimi oluşturmayı daha kolay ve daha üretken hale getiren sayfa tabanlı bir programlama modelidir.
  • Razor işaretleme, Sayfalar ve Razor için üretken bir söz dizimi sağlar.
  • Etiket Yardımcıları , sunucu tarafı kodunun dosyalarda HTML öğeleri Razor oluşturma ve işlemeye katılmasını sağlar.
  • Birden çok veri biçimi ve içerik anlaşması için yerleşik destek, web API'lerinizin tarayıcılar ve mobil cihazlar da dahil olmak üzere çok çeşitli istemcilere ulaşmasını sağlar.
  • Model bağlama , HTTP isteklerindeki verileri otomatik olarak eylem yöntemi parametrelerine eşler.
  • Model doğrulaması otomatik olarak istemci tarafı ve sunucu tarafı doğrulama gerçekleştirir.

İstemci tarafı geliştirme

ASP.NET Core, , Blazor, React, Vue ve Bootstrap gibi popüler istemci tarafı çerçeveleri ve kitaplıklarıyla sorunsuz bir şekilde tümleşir. Daha fazla bilgi için bkz. Blazor altındaki ASP.NET Core 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şur. .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şiklikle ilgili daha fazla ayrıntı için bkz. ASP.NET Core 3.0'da gelen 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
  • Eşzamanlı sürümleme
  • 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 kullanmaya başlama
    Web API'si Web API'si oluşturma
    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.

Ayrıca tamamen tarayıcıda takip edebileceğiniz bir web API öğreticisi var, yerel bir IDE yüklemesi gerekmez. Kod bir Azure Cloud Shell'de çalışır ve curl 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 Framework'ten ASP.NET Core'a geçiş.

Örnek indirme

Çoğu makale ve öğretici örnek koda bağlantılar içerir.

  1. ASP.NET deposu 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 için C# öniş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

Uyumsuzluk yaratan değişiklikler ve güvenlik tavsiyeleri 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: