Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci

849 views

Published on

BilgeAdam İzmir'de "ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci" ile ilgili verdiğim seminerin sunumu.
Kaynak kodları: https://github.com/sinanbozkus/BilgeAdam_Izmir_AspNetCore_Workshop

Published in: Software
  • Be the first to comment

  • Be the first to like this

ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci

  1. 1. ASP.NET MVC => ASP.NET CORE MVC Lightweight, Cross Platform, Open Source and more... Sinan BOZKUŞ sinan.bozkus@bilgeadam.com
  2. 2. - Microsoft tarafından geliştirilmiş, 27 Haziran 2016 tarihinde resmi olarak yayınlanmıştır. - Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) uygulamalar geliştirebiliriz. - Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz. - .NET Framework, Xamarin ve Mono ile uyumluluk (compatible) içerisindedir. - Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz. https://github.com/dotnet - .NET Foundation .NET’in gelişmesini ve yayılmasını sağlamak amacıyla kurulan bir vakıftır. .NET Core’un çıkışıyla birlikte üyeleri arasında Google, Samsung, Redhat gibi dev kuruluşlar da yer almaya başlamıştır. .NET Core Nedir?
  3. 3. - Microsoft tarafından geliştirilen web framework’üdür. .NET Core alt yapısı üzerinde çalışır. - Windows, Linux ve Mac üzerinde çalışabilecek platform bağımsız (cross platform) modern web uygulamaları ve web servisler geliştirebiliriz. - Geliştirme ortamı için Visual Studio, Visual Studio Code veya Visual Studio for Mac tercih edebiliriz. Editör bağımlılığı olmadığından istersek notepad üzerinde dahi geliştirme yapabiliriz. - Geliştirme esnasında .Net Framework (Full Framework) veya .NET Core alt yapısını tercih edebiliriz. - Ücretsiz ve açık kaynaktır. Github üzerinden siz de katkıda bulunabiliriz. https://github.com/aspnet ASP.NET Core Nedir?
  4. 4. - Web uygulamamızdaki statik dosyalarımız wwwroot klasörü altında yer almaktadır. - Dependencies altında uygulamamızın çalışması için gerekli olan bağımlılıklar yer almaktadır. Bower ile client-side (bower.json), Nuget ile server-side paketlerin (.csproj) kurulumu yapılmaktadır. - Program.cs uygulamamızın başlangıç noktasıdır, uygulama buradan çalışmaya başlar. - Startup.cs uygulamamız ile ilgili konfigürasyonlar içerir. - Bundleconfig.json içerisinde sıkıştırma (minify) yapacağımız css ve js dosyaları tanımlanır. Proje Dosyaları, Yapılandırma
  5. 5. - Projemizin başlangıç noktasıdır. - WebHostBuilder nesnesine uygulamamızın ihtiyacı olan en temel bileşenler eklenir ve uygulama bu nesne üzerinden çalıştırılır. Program.cs (.Net Core 2.0 öncesi) .UseKestrel() Uygulamanın Kestrel üzerinde çalışacağı belirtilmiştir. .UseContentRoot(Directory.GetCurrentDirectory()) Uygulamanın çalışacağı dizin belirtilmiştir, GetCurentDirectory() ile uygulamanın bulunduğu mevcut dizin alınmıştır. .UseIISIntegration() Uygulamanın Windows sunucusu üzerinde barındırılacağı ve IIS desteğinin gerektiği belirtilmiştir. .UseStartup<Startup>() Uygulamanın çalışmaya başlaması için gerekli yapılandırmalar ve çalıştıktan sonraki http isteklerinin işlenmesindeki yapılandırmalar bu sınıf içerisinde (startup.cs) yapılır.
  6. 6. Program.cs (.Net Core 2.0 ve sonrası) https://github.com/aspnet/Identity/blob/3008f76c0 37e683cbf95d4c3b0e11a9381800f25/samples/Iden tityOIDCWebApplicationSample/MetaPackage/Web Host.cs
  7. 7. - Uygulamamızda kullanacağımız servislerin kayıt edildiği metottur. Çalışma zamanında (runtime) çalışır. - Projemize ASP.NET MVC’yi burada kayıt ederiz. - Dependency Injection tanımlamaları bu metot içerisinde yapılır. Startup.cs - 1
  8. 8. - Uygulamamıza yapılacak HTTP istekleriyle ilgili yapılandırmaların yapıldığı metottur. - ConfigureServices içerisinde kayıt ettiğimiz ASP.NET MVC’nin çalışmasını bu metot içerisinde sağlarız. - Loglama, hata yakalama ve routing gibi yapılandırmalar da bu metot içerisinden yapılır. Startup.cs - 2
  9. 9. Html Helpers - View içerisinde HTML içeriği oluşturmak için kullanılan yardımcı metotlardır. Bu metotlar çoğu zaman bir string döndürür. - Razor yapısına uygun şekilde yazılır.
  10. 10. Tag Helpers - Tag Helper desteği ASP.NET Core ile birlikte gelmiştir. - Karmaşık yazımlar yerine Html’e basit bir şekilde uyum sağlar.
  11. 11. Partial Views - Bir kere yazıp tekrar tekrar kullanabiliriz. - Partial Viewler kendi başlarına çalışamazlar. Sadece bir View içerisinen çağırıldıkları zaman çalışabilirler. - Kendilerine ait Controller vb. server-side bir kod blokları yoktur. - View dosyaları “Shared” klasörü altında tanımlanır.
  12. 12. View Components - ASP.NET Core ile birlikte gelmiştir. ASP.NET Core içerisinde gelen ViewComponent sınıfından miras alırlar. - Partial View benzeri bir şekilde bir kez yazılıp tekrar tekrar kullanılabilir. Partial View’e ek olarak kendi server-side kod blokları vardır. - Tanımlanırken adının sonuna “ViewComponent” eki eklenerek tanımlanır. - View dosyaları “/Shared/Components/ ComponentAdi/Default.cshtml” şeklinde tanımlanır. - View ler içerisinde @Component.InvokeAsync(“ComponentAdi” şeklinde çağırılırlar.
  13. 13. AppSettings - Web.config dosyasına benzer yapıdadır. - Web.config sadece Windows sunucu üzerinde çalışırken appsettings dosyaları tüm platformlarda desteklenir. - Başta connection string olmak üzere bir çok ayar tanımlamalarımızı bu dosyalar üzerinde yapabiliriz.

×