ASP.NET Core Nedir?
ASP.NET Core, Microsoft'un açık kaynaklı ve çapraz platform desteği sunan modern bir web framework'üdür. Klasik ASP.NET'in yerini alması amacıyla tasarlanmış olup, çok daha hızlı, hafif ve verimli bir yapıya sahiptir. Hem Windows hem de Linux ve macOS üzerinde çalışabilen ASP.NET Core, web geliştirme dünyasında büyük bir devrim yaratmıştır.
Başlangıç: Bir Web Uygulaması Oluşturmak
ASP.NET Core ile web uygulaması geliştirmeye başlamak için ilk adım, gerekli yazılım araçlarını yüklemektir. Microsoft’un Visual Studio Code ya da Visual Studio gibi IDE’lerini kullanabilirsiniz. Bu araçlar, projeyi yönetmek ve geliştirmek için son derece kullanıcı dostudur. Şimdi gelin, bir "Hello World" web uygulaması geliştirelim.
Adım 1: İlk olarak, terminal veya komut istemcisinde aşağıdaki komutu kullanarak yeni bir ASP.NET Core projesi oluşturun:
kopyaladotnet new webApp -n MyFirstWebApp
Adım 2: Projeyi oluşturduktan sonra, uygulamanızı çalıştırmak için şu komutu kullanabilirsiniz:
kopyalacd MyFirstWebApp dotnet run
Adım 3: Şimdi tarayıcınızda `http://localhost:5000` adresine giderek uygulamanızın çalıştığını görebilirsiniz.
Veritabanı Bağlantısı: SQL Server ile Çalışmak
Bir web uygulamasında genellikle veri saklamak için bir veritabanına ihtiyaç duyarız. ASP.NET Core, veritabanı bağlantıları için Entity Framework Core'u kullanır. Bu araç, ORM (Object Relational Mapping) teknolojisini kullanarak veritabanı işlemlerinizi kolaylaştırır.
Adım 1: Projenizde Entity Framework Core'u kullanabilmek için NuGet paketlerini yüklemeniz gerekir. Şu komutu kullanarak EF Core'u yükleyebilirsiniz:
kopyaladotnet add package Microsoft.EntityFrameworkCore.SqlServer
Adım 2: Veritabanı modelinizi oluşturun. Örnek olarak, bir `Product` sınıfı ekleyelim:
kopyalapublic class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } }
Adım 3: Uygulamanızda `DbContext` sınıfını kullanarak veritabanı bağlantınızı tanımlayın:
kopyalapublic class AppDbContext : DbContext { public DbSet Products { get; set; } public AppDbContext(DbContextOptions options) : base(options) { } }
Adım 4: Veritabanı bağlantınızı `Startup.cs` dosyasına ekleyin:
kopyalapublic void ConfigureServices(IServiceCollection services) { services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); }
Routing ve Middleware
ASP.NET Core'da, uygulamanızın her talebi nasıl işlediğini belirlemek için "middleware" ve "routing" kullanılır. Middleware, gelen talepler üzerinde işlem yapmanıza olanak tanırken, routing ise URL'leri uygun controller ve actionlara yönlendirir.
Örneğin, bir `HomeController` oluşturup, HTTP isteklerine yanıt vermek için aşağıdaki gibi bir yapı kurabilirsiniz:
kopyalapublic class HomeController : Controller { public IActionResult Index() { return View(); } }
Yukarıdaki kodda, `Index` metodu, kullanıcıya ana sayfayı döndüren bir action metodudur.
ASP.NET Core ile Güvenlik
Bir web uygulamasının güvenliği, geliştirme sürecinin en önemli adımlarından biridir. ASP.NET Core, güvenlik için pek çok yerleşik özellik sunar. Örneğin, kimlik doğrulama ve yetkilendirme işlemleri için Identity framework’ü kullanılabilir.
Adım 1: ASP.NET Core Identity’i projeye dahil etmek için şu komutu kullanabilirsiniz:
kopyaladotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore
Adım 2: Projeye kimlik doğrulama işlemleri eklemek için `Startup.cs` dosyasındaki `ConfigureServices` metodunu şu şekilde güncelleyebilirsiniz:
kopyalapublic void ConfigureServices(IServiceCollection services) { services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders(); }
Sonuç: Güçlü ve Modern Uygulamalar
ASP.NET Core, güçlü bir framework olup, web uygulamaları geliştirirken karşınıza çıkacak her türlü ihtimale hazırdır. Kolayca ölçeklenebilir, hızlı ve güvenli uygulamalar oluşturmak için mükemmel bir platformdur. Geliştirici dostu yapısı, hızlı öğrenme eğrisi ve açık kaynak kodlu yapısıyla, ASP.NET Core bugün piyasadaki en güçlü web geliştirme araçlarından biridir.
Gelin, bu harika teknolojiyi kullanarak kendi web uygulamalarınızı geliştirin ve dijital dünyada iz bırakın!