Memperkenalkan kerangka kerja ASP.Net Core MVC

ASP.Net Core MVC adalah kerangka kerja pengembangan aplikasi web lintas platform yang memanfaatkan manfaat runtime ASP.Net Core sementara pada saat yang sama memungkinkan Anda merancang aplikasi yang dapat diuji dan dipelihara serta dapat dikembangkan dan disebarkan melalui berbagai platform. Perhatikan bahwa MVC Core tidak memerlukan IIS untuk hosting - Anda dapat meng-host aplikasi MVC Core di Kestrel atau bahkan dapat dihosting sendiri. ASP.Net MVC Core adalah open source, memiliki dukungan built-in untuk injeksi ketergantungan dan dapat diperluas. Perhatikan bahwa kerangka kerja MVC membantu Anda mengisolasi masalah dalam aplikasi Anda dan membangun aplikasi yang lebih mudah untuk diuji dan dipelihara.

Fitur yang menonjol di MVC Core termasuk perutean, pengikatan model, validasi model, injeksi ketergantungan, filter, area, API web, tampilan yang sangat diketik, penolong tag, dan komponen tampilan. Sekarang mari kita lihat masing-masing fitur ini secara singkat. Kami akan meninjau kembali masing-masing di posting nanti di sini.

Rute

Mesin perutean ASP.Net Core MVC dibangun di atas mesin perutean ASP.Net Core. Anda sekarang memiliki dukungan untuk perutean dalam dua cara berbeda - fitur perutean berbasis konvensi dan fitur perutean berdasarkan atribut. Di awal, Anda dapat menentukan format URL untuk aplikasi Anda secara global seperti yang ditunjukkan di bawah ini.

routes.MapRoute (nama: "Default", template: "{controller = Home} / {action = Index} / {id?}");

Perutean atribut memungkinkan Anda menentukan informasi perutean dengan menerapkan atribut pada pengontrol dan metode tindakan seperti yang ditunjukkan dalam cuplikan kode yang diberikan di bawah ini.

[Route("api/customers")]

public class CustomersController : Controller

{

  [HttpGet("{id}")]

  public IActionResult GetCustomer(int id)

  {

    //Write your usual code here

  }

}

Validasi model

Anda dapat menghias objek model Anda menggunakan atribut untuk melakukan validasi model di ASP.Net MVC Code. Cuplikan kode berikut mengilustrasikan bagaimana Anda dapat memanfaatkan anotasi data untuk menghias model Anda.

using System.ComponentModel.DataAnnotations;

public class CustomerViewModel

{

    [Required]

    [FirstName]

    public string FirstName { get; set; }

    [Required]

    [LastName]

    public string LastName { get; set; }

}

Perhatikan bahwa atribut validasi diperiksa di sisi klien dan juga di sisi server.

public async Task SaveData(CustomerViewModel model, string returnUrl = null)

{

    if (ModelState.IsValid)

    {

      // Write your code here to save data

    }

    // Error occurred

    return View(model);

}

Injeksi ketergantungan

Sejak ASP.Net MVC Core dibangun di atas ASP.Net Core, itu mewarisi kemampuan injeksi ketergantungan ASP.Net Core juga. Dukungan untuk injeksi ketergantungan dan kerangka kerja pencari lokasi ada di dalam ASP.Net Core. Ada empat mode di mana suatu tipe dapat disuntikkan. Ini termasuk: Singleton, Scoped, Transient dan Instance.

ASP.Net MVC Core memungkinkan Anda memasukkan dependensi menggunakan konstruktor ke kelas pengontrol. Anda juga dapat memasukkan dependensi dalam file tampilan menggunakan direktif @inject.

Anda dapat mendaftarkan tipe dalam metode ConfigureServices dari file Startup.cs seperti yang ditunjukkan di bawah ini.

public void ConfigureServices(IServiceCollection services)

{

   services.AddMvc();

   services.AddSingleton();

}

Setelah tipe terdaftar dengan kerangka kerja, Anda bisa memasukkan tipe menggunakan konstruktor pengontrol seperti yang ditunjukkan di bawah ini.

public class CustomerController : Controller

{

   private ILoggingService logger;

   public CustomerController(ILoggingService logger)

   {

      this.logger = logger;

   }

}

Tampilan yang sangat diketik

ASP.Net Core MVC menyediakan dukungan untuk tampilan yang diketik dengan kuat. Jadi, tampilan pisau cukur Anda juga bisa diketik dengan kuat.

@model IEnumerable

        @foreach (Customer c in Model)

        {

           

  • @c.FirstName
  •        

  • @c.LastName
  •     }

    Support for Tag helpers

    Tag helpers are used to enable server side code create and render HTML elements. You have many in-built Tag helpers in ASP.Net Core MVC. You can also create your custom Tag helper as well. The in-built Tag helpers can be used for creating forms, loading assets, etc.

    Support for Web API

    ASP.Net MVC Core provides excellent support for building light-weight services using Web API that can run over HTTP. ASP.Net Web API is a framework that you can make use of to build light-weight web services that use HTTP as the protocol. Web API provides in-built support for content negotiation, formatters and cross-origin resource sharing (CORS).

    Cloud Ready

    With MVC Core, you can now build and configure your applications to be cloud-ready. Building and deploying application for the cloud is now seamless with excellent support for environment-based configuration. In essence, you now have support for a cloud-ready environment-based configuration system. This helps in saving the time you otherwise have to waste due to errors that occur during deployment.

    I will discuss on how we can build applications using the MVC Core framework in a later post here.