ASP.NET Core’a Giriş

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

ASP.NET Core modern, bulut özellikli, Internet 'e bağlı uygulamalar oluşturmaya yönelik platformlar arası, yüksek performanslı, açık kaynaklı bir çerçevedir. ASP.NET Core ile şunları yapabilirsiniz:

  • Web uygulamaları ve Hizmetleri, nesnelerin interneti (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üzerinde çalıştırın.

Neden ASP.NET Core seçmelisiniz?

milyonlarca geliştirici, web uygulamaları oluşturmak için 4. x kullanır veya ASP.NET kullandı. ASP.NET Core, daha modüler bir çatı ile sonuçlanan mimari değişiklikler dahil ASP.NET 4. x ' in bir yeniden tasarlayıcısı.

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ıştır.
  • Razor Sayfalar , kod odaklı senaryoları daha kolay ve daha üretken hale getirir.
  • Blazor JavaScript 'In yanı sıra C# ' i tarayıcıda kullanmanıza imkan sağlar. Sunucu tarafı ve istemci tarafı uygulama mantığını tüm .NET ile yazılmış şekilde paylaşabilirsiniz.
  • Windows, macOS ve Linux 'ta geliştirme ve çalıştırma özelliği.
  • Açık kaynak ve topluluk odaklı.
  • Modern istemci tarafı çerçeveler ile geliştirme iş akışlarının tümleştirilmesi.
  • GRPCkullanarak uzak yordam ÇAĞRıSı (RPC) hizmetlerini barındırmak için destek.
  • 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ğıdakiler üzerinde barındırma ö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:

İstemci tarafı geliştirme

ASP.NET Core, Blazor Angular, Reactve önyüklemedahil popüler istemci tarafı çerçeveleri ve kitaplıkları ile sorunsuz bir şekilde tümleşir. Daha fazla bilgi için bkz ASP.NET Core giriş Blazor . istemci tarafı geliştirme altındaki ilgili konular.

ASP.NET Core hedef çerçeveler

ASP.NET Core 3. x ve üzeri yalnızca .NET Core ' u hedefleyebilir. genellikle, ASP.NET Core .NET Standard kitaplıklarından oluşur. .NET Standard 2,0 ile yazılan kitaplıklar .NET Standard 2,0 ' i uygulayan herhangi bir .NET platformundaçalışır.

.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ı. Windows, macos ve Linux üzerinde çalışır.
  • Geliştirilmiş 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 sürdürmek istediğiniz uygulama türü için bir öğreticiyi izleyin.

    Uygulama türü Senaryo Öğretici
    Web uygulaması Yeni sunucu tarafı Web UI geliştirmesi Sayfalarla çalışmaya başlama Razor
    Web uygulaması MVC uygulamasını sürdürme MVC ile çalışmaya başlama
    Web uygulaması İstemci tarafı Web UI geliştirmesi Kullanmaya başlayın Blazor
    Web API Yeniden takip eden HTTP Hizmetleri Web API 'SI oluşturma
    Uzak yordam çağrısı uygulaması Sözleşme-protokol arabellekleri kullanan ilk hizmetler gRPC hizmetini kullanmaya başlama
    Gerçek zamanlı uygulama Sunucular ve bağlı istemciler arasında çift yönlü iletişim Kullanmaya başlayın 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 olan sayfalar
    MVC uygulamasını sürdürme Entity Framework Core ile MVC
  3. tüm uygulama türleri için uygulanan ASP.NET Core temelleri hakkında genel bakış makalesini okuyun.

  4. İlgilendiğiniz diğer konular için içindekiler tablosuna gözatamazsınız.

†Ayrıca etkileşimli bir Web API öğreticiside vardır. Geliştirme araçlarının yerel yüklemesi gerekmez. Kod tarayıcınızda bir Azure Cloud Shell çalışır ve test etmek için kıvrımlı kullanılır.

.NET Framework geçir

ASP.NET 4. x uygulamalarını ASP.NET Core geçirmeye yönelik bir başvuru kılavuzu için bkz ASP.NET'den ASP.NET Core ..

ASP.NET Core modern, bulut özellikli, Internet 'e bağlı uygulamalar oluşturmaya yönelik platformlar arası, yüksek performanslı, açık kaynaklı bir çerçevedir. ASP.NET Core ile şunları yapabilirsiniz:

  • Web uygulamaları ve Hizmetleri, nesnelerin interneti (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 seçmelisiniz?

milyonlarca geliştirici, web uygulamaları oluşturmak için 4. x kullanır veya ASP.NET kullandı. 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ıştır.
  • Razor Sayfalar , kod odaklı senaryoları daha kolay ve daha üretken hale getirir.
  • Blazor JavaScript 'In yanı sıra C# ' i tarayıcıda kullanmanıza imkan sağlar. Sunucu tarafı ve istemci tarafı uygulama mantığını tüm .NET ile yazılmış şekilde paylaşabilirsiniz.
  • Windows, macOS ve Linux 'ta geliştirme ve çalıştırma özelliği.
  • Açık kaynak ve topluluk odaklı.
  • Modern istemci tarafı çerçeveler ile geliştirme iş akışlarının tümleştirilmesi.
  • GRPCkullanarak uzak yordam ÇAĞRıSı (RPC) hizmetlerini barındırmak için destek.
  • 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ğıdakiler üzerinde barındırma ö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:

İstemci tarafı geliştirme

ASP.NET Core, Blazor Angular, Reactve önyüklemedahil popüler istemci tarafı çerçeveleri ve kitaplıkları ile sorunsuz bir şekilde tümleşir. Daha fazla bilgi için bkz ASP.NET Core giriş Blazor . istemci tarafı geliştirme altındaki ilgili konular.

.NET Framework'ü hedefleyen ASP.NET Core

ASP.NET Core 2.x, .NET Core'u veya .NET Framework'ü hedefleyebilir. .NET Framework'ü hedefleyen ASP.NET Core uygulamaları platformlar arası çalışmaz; bunlar 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, 2.0'a sahip .NET Standard herhangi bir .NET platformunda çalıştırabilirsiniz.

ASP.NET Core 2.x, 2.0 .NET Framework uygulayan .NET Standard sürümlerde de kullanılabilir:

  • .NET Framework sürümü önerilir.
  • .NET Framework 4.6.1 ve üzeri.

ASP.NET Core 3.0 ve üzeri yalnızca .NET Core’da ç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.
  • Geliştirilmiş performans
  • Yan yana sürüm oluşturma
  • Yeni API'ler
  • Açık kaynak

.NET Framework 'dan .NET Core'.NET Framework API'leri kapatmaya yardımcı olmak için, Windows Uyumluluk Paketi.NET Core'da yalnızca Windows api'leri kullanılabilir yaptı. 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 öğreticiyi izleyin.

    Uygulama türü Senaryo Öğretici
    Web uygulaması Yeni proje geliştirmek için Kullanmaya başlayın ile Razor ekleme
    Web uygulaması MVC uygulaması yönetmek için MVC ile çalışmaya başlama
    Web API Web API'si oluşturma
    Gerçek zamanlı uygulama Kullanmaya başlayın SignalR
  2. Temel veri erişimi yapma adımlarını gösteren bir öğreticiyi izleyin.

    Senaryo Öğretici
    Yeni proje geliştirmek için Razor Pages with Entity Framework Core
    MVC uygulaması yönetmek için Entity Framework Core ile MVC
  3. Tüm uygulama türleri için ASP.NET Core temel bilgiler hakkında genel bakış okuyun.

  4. İlgilendiğiniz diğer konular için İçindekiler Tablosu’na göz atın.

†Ayrıca tarayıcıda tamamen takip edersiniz veyerel IDE yüklemesi gerekmez. Kod Azure Cloud Shell’de çalışır, curl ise test için kullanılır.

.NET Framework'den geçiş

Uygulamalarınızı ASP.NET'a ASP.NET Core için bkz. ASP.NET'den ASP.NET Core .

Ö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ı AspNetCore.Docs-main.zip açın.
  3. Sıkıştırması açılmış depoda bir makalenin örnek uygulamasına erişmek için makalenin örnek bağlantısında yer alan URL'yi kullanarak örneğin klasörüne gidin. Genellikle, makalenin en üstünde bağlantı metniyle bir makalenin örnek bağlantısı görüntülenir. Örnek kodu görüntüleme veya indirme.

Örnek kodda ön işlemci yönergeleri

Örnek uygulamalar, birden çok senaryoyu göstermek için ve önişlemci yönergelerini kullanarak örnek kodun farklı bölümlerini seçmeli #define #if-#else/#elif-#endif olarak derler ve çalıştırabilir. Bu yaklaşımı kullanan örnekler için, çalıştırmak istediğiniz senaryoyla ilişkili simgeyi tanımlamak üzere C# dosyalarının üst kısmında #define yönergeyi ayarlayın. Bazı örnekler, bir senaryoyu çalıştırmak için birden çok dosyanın en üstünde sembolünü tanımlamayı gerektirir.

Ö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).

Örnek kodda bölgeler

Bazı örnek uygulamalar, C# yönergeleriyle çevre #region ve #endregion bölümleri içerir. Belge derleme sistemi bu bölgeleri işlenmiş belge konularının içine ekler.

Bölge adları çoğunlukla şu sözcüğü içerir: "snippet." Aşağıdaki örnekte snippet_WebHostDefaults adlı bir bölge gösterilir:

#region snippet_WebHostDefaults
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });
#endregion

Önündeki C# kod parçacığına, konunun markdown dosyasında aşağıdaki satırla başvurulur:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_WebHostDefaults)]

Kodu çevreleyen ve yönergelerini güvenle yoksayabilirsiniz #region #endregion (veya kaldırabilirsiniz). Konu başlığında açıklanan örnek senaryoları çalıştırmayı planlıyorsanız bu yönergelerin içindeki kodu değiştirme. Başka senaryolarla denemeler yaparken kodu rahatça değiştirebilirsiniz.

Daha fazla bilgi için bkz. ASP.NET belgelerine katkıda bulunma: Kod parçacıkları.

Yeni değişiklikler ve güvenlik danışmanları

Yeni değişiklikler ve güvenlik danışmanları Duyurular reposlarında raporlandı. Duyurular, Etiket filtresi seçerek belirli bir sürümle sınır olabilir.

Sonraki adımlar

Daha fazla bilgi için aşağıdaki kaynaklara bakın: