Anasayfa / Yazılım / ASP.NET / ASP.NET Core WEB Projesi Bileşenleri

ASP.NET Core WEB Projesi Bileşenleri

.NET Core proje sistemi; .NET Framework’ün  bir önceki versiyonları ile karşılaştırıldığında daha yeni bir yapıya sahiptir. Yeni .NET Core proje sisteminde ve hatta özellikle ASP.NET Core proje sisteminde yeni bir takım dosyalarımız yer almaktadır. Bunlara örnek verirsek; bundleconfig.json ve Program.cs gibi. Ayrıca daha önceden var olan bazı eski dokümanlarda kaldırılmıştır, örneğin Global.asax gibi. Bu yazımda ASP.NET Core bileşenlerini elimden geldiğince açıklayacağım.

Bileşenler:

Bağımlılıklar (Dependencies): Dependencies yani bağımlılıklar projenin tüm bağımlılıklarını gösteren node’dur. Bu bağımlılıklar client-side Bower bağımlılıkları, NuGet package bağımlılıkları ve actual .NET Core Framework bağımlılıkları şeklinde kategorize edilebilir. Proje ilk kez oluşturulduğunda ve ilk kez yüklendiğinde tüm bağımlılıklar en başta geri yüklenir. Csproj dosyasının her değişiminde, bağımlılıklar otomatik olarak yeniden yüklenirler.

Properties ve launchSettings.json:

Bu kısımda projeyi çalıştırmak için gerekli olan profiller tutulur. Genelde bir WEB Projesi için IIS Express ve .NET Core CLI tabanlı yürütülebilir profiller mevcuttur. Properties alanında Kimlik Doğrulama (Authentication) gibi server ayarları saklanabilir. Projeye özgü bu çevre değişkenleri Properties üzerine çift tıklanarak düzenlenebilir. Projede yapılan bu ayarlarla ilgili tüm değişiklikler launchSettings.json dosyasında saklanır.

wwwroot: Bu alan projelerin tüm statik dosyalarını içerebilir. Bu statik dosyalar neler olabilir? Bunlar HTML dosyaları, image dosyaları, JavaScript dosyaları, CSS dokümanları bu sınıfa girer. Buradan bu dokümanların kullanıcıya doğrudan sunulması sağlanır. Özel JQuery dosyaları js klasöründe ev diğer tüm JQuery kütüphane dosyaları ise lib klasöründe yer alır.

Controllers: Bu kalsör, ASP.NET Core projemizde yer alan MVC/Web API kontrollerini tutmaktadır. ASP.NET MVC mantığı ile aynı işlevi görür.

Data: Entity Framework Database Context ile bağlantılı olan tüm kod dosyaları bu klasörde yer alır.

Models: Web uygulamasının tüm View modelleri bu klasörde yer alır. View model, veri göndermek ve görüntülemek için kullanılır.

Services: Tüm arayüzler ve iş zekâsı uygulamaları bu klasörde tutulur.

Views: Views klasörü tüm cshtml dosyalarını tutar. Geleneksel ASP.NET MVC projeleri ile aynı mantığı izler. Ayrıca bu klasör paylaşılan View’leri tutar. Bu klasörde ayrıca _ViewImports.cshtml olarak adlandırılan bir dosya bulunur. Bu dosya kullanılan tüm ad alanlarını eklemek için ortak bir yer görevi görür. Yine bu klasörde _ViewStart.cshtml dosyası yer alır. Bu dosya her bir View’in render edilmesinin başındaki ortak View kodunu içerir.

appsettings.json: Bu dosya key/value çiftleri yapılandırması için kullanılır. ASP.NET projelerinde yer alan web.config dokümanındaki appsetttings gibi işlev görür. Bu dosya ayrıca connection strings (bağlantı nesneleri), log ayarları ve diğer ayarlar için kullanılır.

bower.json: Client (İstemci) taraflı varlık dosyaları (JavaScript, stil sayfaları, resimler HTML dosyaları gibi) bower.json aracılığı ile yönetilir. Varsayılan olarak Bootstrap ve JQuery dosyaları yüklenir. .bowerrc dosyası Bower’in ihtiyaç duyduğu indirilen paketleri tutar. (wwwroot/lib klasörü altında)

bundleconfig.json: Bu dosya JQuery ve CSS dosyalarının birleştirilmesi ve küçültülmesi için kullanılır. Bu dosyada input ve output dosyalarının farkı belirtilir. Dosyaların birleştirilmesi ve küçültülmesi için BundlerMinifier.Core NuGet package’a ihtiyaç vardır.

Program.cs: Bu dosya ASP.NET Core web uygulamasının başlangıç noktasıdır. Bu dosya Static Void Main() giriş noktasını içerir. Böylelikle ASP.NET core web uygulamasını doğrudan bir konsol uygulaması yapar. ASP.NET Core, uygulamayı başlatmak ve uygulamanın ömrünü yönetmek için bir ana bilgisayar gerektirir. Program.cs ana bilgisayarı yapılandırmak ve başlatmak için kullanılan yeni bir WebHostBuilder örneği oluşturur. Uygulamayı host etmek için bir Kestrel server kullanılır. Ana bilgisayarı oluşturmak için WebHostBuilder’ın Build yöntemi kullanılır ve ardından Run metodu onu başlatmak için kullanılır.

Startup.cs: ASP.NET Core web uygulaması için ortam yapılandırma işlemi yapar. ConfigureServices metodu ile framework servisleri (EF, MVC, Kimlik Doğrulama gibi) ve özel servisler eklenebilir. ASP.NET HTTP’yi oluşturmak için bir başka yöntem olan Configure kullanılır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir