Adım Adım Asp.net Core Mvc

Dotnet core 1.0 versiyonu ile birlikte, microsoft, cross platform uygulamalar geliştirmeye yönelik olarak önemli bir adım atmış oldu. Dotnet core ile birlikte, geliştirdiğimiz asp.net core mvc, web api, desktop uygulamalarını linux, macos, windows ortamlarında çalıştırabiliriz. Çalıştırmanın dışında geliştirmeyi de, visual studio code ve benzeri araçları kullanarak, windows dışındaki ortamlarda yapabiliriz.

Bu yazımızda, cross platform uygulama geliştirmeyi esas alarak, basit bir asp.net core mvc uygulaması geliştireceğiz. Herşeyi sıfırdan geliştirmeye başlayacağız. Visual Studio kullanmadan, sadece visual studio code ile ve dotnet cli (dotnet command line interface) dediğimiz komut satırı arayüzü aracılığı ile yapacağız. Bu şekilde minimum düzeyde sihirbaz kullanarak dotnet core’u daha iyi anlayabileceğiz diye düşünüyorum.

Kurulum

dotnet cli için https://www.microsoft.com/net/core#windows sitesinden  .NET Core SDK for Windows paketini indirip kurulumunu yapalım. Powershell üzerinden dotnet cli komutlarını çalıştıracağız. Anlaşılacağı üzere geliştirme yapacağım ortam windows 10.

Hala kurmadıysanız Visual Studio Code’u kurmanız gerekiyor. Visual Studio Code’un kurulumundan sonra c# extension paketininde kurulması gerekiyor.

Geliştirme

Powershell’i açalım. Bir dizin oluşturalım (codemvcadimadim).

mkdir coremvcadimadim
cd codemvcadimadim

komut satırında aşağıdaki komutları sırasıyla çalıştıralım:

dotnet new
dotnet restore

Bu komut ile birlikte, Project.cs ve project.json isimli iki dosya yaratılmış oldu. Visual Studio Code’u code komutu ile çalıştıralım.

code .

Asp.net mvc uygulaması geliştireceğimiz için, project.json dosyasının dependency kısmını değiştirelim.

“Microsoft.AspNetCore.Mvc”: “1.0.0”,
“Microsoft.AspNetCore.Server.Kestrel”: “1.0.0”

Bu kütüphaneleri ekleyelim ve buildoptions kısmına “preserveCompilationContext”: true özelliğini ekleyelim.

project.json dosyasının son haline göz atalım:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "dependencies": {
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0"    
  },
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

Startup.cs dosyasını oluşturalım:

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;

namespace ConsoleApplication
{
    public class Startup {
        public void ConfigureServices(IServiceCollection services) {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app) {
            app.UseMvcWithDefaultRoute();
        }
    }    
}

services.AddMvc() satırı MVC servislerini dependency injection framework’üne ekler, asp.UseMvcWithDefaultRoute() satırı da Mvc’i ara katman akışına dahil eder.

Son olarak da Program.cs dosyasını değiştirelim:

using System;
using System.IO;
using Microsoft.AspNetCore.Hosting;


namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }
}

Klasik bir console uygulaması nasıl web uygulaması olur diye merak ediyorsunuzdur. Fakat dotnet core platformunda tüm uygulamalar .net core console uygulamasıdır.

Powershell komut satırından tekrar dotnet restore yapalım. Böylece eklediğimiz yeni paketleri kullanabilsin.

dotnet restore

Controllers dizini oluşturup, içerisinde bir HomeController.cs dosyası oluşturalım:

using Microsoft.AspNetCore.Mvc;

public class HomeController : Controller {
    public IActionResult Index() {
        ViewBag.Message = "Powered by ASP.NET Core";
        return View();
    }
}

Views dizini oluşturup, içerisinde Home dizini oluşturalım. Bu dizinin içerisinde de Index.cshtml dosyasını oluşturalım.

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="utf-8" />
    <title>ASP.NET Core Website</title>
</head>
<body>
    <h1>@ViewBag.Message</h1>
</body>
</html>

dotnet run komutunu çalıştıralım:

dotnet run

dotnet run komutu ile birlikte, web uygulamamız çalışmaya başladı. http://localhost:5000 adresine girerek uygulamayı görmüş oluruz.

acilis

Sonuç

Windows ortamında geliştirme yaptığımız halde, aynı geliştirme adımlarını diğer bir işletim sisteminde de tekrarlayark, asp.net core mvc uygulaması geliştirebiliriz. dotnet cli, visual studio code, bir tarayıcı ve bir terminal ekranı ihtiyaç duyacağımız tüm geliştirme ortamını bize sağlamış olacaktır. Bu yazımızda da herşeyi olabildiğince basit tutarak bir asp.net core mvc uygulamasının çatısını oluşturmuş olduk.

1 thought on “Adım Adım Asp.net Core Mvc”

  1. Geri bildirim: Javascript Yerine C# Kullanmaya Ne Dersiniz? - Onbirkod

Yorum bırakın

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

Scroll to Top