Memperkenalkan kerangka ASP.Net Core MVC

ASP.Net Core MVC adalah kerangka pembangunan aplikasi web lintas platform yang memanfaatkan kelebihan masa berjalan ASP.Net Core dan pada masa yang sama membolehkan anda merancang aplikasi yang boleh diuji dan dikendalikan serta dapat dikembangkan dan digunakan di pelbagai platform. Perhatikan bahawa MVC Core tidak memerlukan IIS untuk hosting - anda boleh menjadi tuan rumah aplikasi MVC Core di Kestrel atau mereka juga boleh dihoskan sendiri. ASP.Net MVC Core adalah sumber terbuka, mempunyai sokongan terpasang untuk suntikan kebergantungan dan boleh dilanjutkan. Perhatikan bahawa rangka kerja MVC membantu anda untuk mengasingkan permasalahan dalam aplikasi anda dan membina aplikasi yang lebih mudah diuji dan dipelihara.

Ciri-ciri penting dalam MVC Core merangkumi perutean, pengikatan model, pengesahan model, suntikan ketergantungan, penapis, kawasan, API web, paparan yang sangat diketik, pembantu tag, dan komponen pandangan. Mari kita lihat setiap ciri ini secara ringkas. Kami akan menyemak semula masing-masing dalam catatan kemudian di sini.

Laluan

Mesin penghala ASP.Net Core MVC dibina di atas enjin penghalaan ASP.Net Core. Anda kini mempunyai sokongan untuk routing dengan dua cara yang berbeza - ciri routing berdasarkan konvensi dan fitur routing berdasarkan atribut. Yang pertama, anda boleh menentukan format URL untuk aplikasi anda secara global seperti yang ditunjukkan di bawah.

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

Perutean atribut memungkinkan anda menentukan maklumat perutean dengan menerapkan atribut pada pengendali dan kaedah tindakan seperti yang ditunjukkan dalam potongan kode yang diberikan di bawah.

[Route("api/customers")]

public class CustomersController : Controller

{

  [HttpGet("{id}")]

  public IActionResult GetCustomer(int id)

  {

    //Write your usual code here

  }

}

Pengesahan model

Anda boleh menghiasi objek model anda menggunakan atribut untuk melakukan pengesahan model dalam ASP.Net MVC Code. Coretan kod berikut menggambarkan bagaimana anda dapat memanfaatkan anotasi data untuk menghiasi model anda.

using System.ComponentModel.DataAnnotations;

public class CustomerViewModel

{

    [Required]

    [FirstName]

    public string FirstName { get; set; }

    [Required]

    [LastName]

    public string LastName { get; set; }

}

Perhatikan bahawa atribut pengesahan diperiksa di sisi pelanggan dan juga di sisi pelayan.

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

{

    if (ModelState.IsValid)

    {

      // Write your code here to save data

    }

    // Error occurred

    return View(model);

}

Suntikan ketergantungan

Oleh kerana ASP.Net MVC Core dibina di atas ASP.Net Core, ia mewarisi keupayaan suntikan ketergantungan ASP.Net Core juga. Sokongan untuk suntikan kebergantungan dan kerangka pencari perkhidmatan terdapat dalam ASP.Net Core. Terdapat empat mod di mana jenis boleh disuntik. Ini termasuk: Singleton, Scoped, Transient dan Instance.

ASP.Net MVC Core membolehkan anda memasukkan kebergantungan menggunakan konstruktor ke kelas pengawal. Anda juga boleh memasukkan kebergantungan dalam fail pandangan menggunakan arahan @inject.

Anda boleh mendaftarkan jenis dalam kaedah ConfigureServices dari fail Startup.cs seperti yang ditunjukkan di bawah.

public void ConfigureServices(IServiceCollection services)

{

   services.AddMvc();

   services.AddSingleton();

}

Setelah jenis didaftarkan dengan rangka kerja, anda boleh memasukkan jenis menggunakan konstruktor pengawal seperti yang ditunjukkan di bawah.

public class CustomerController : Controller

{

   private ILoggingService logger;

   public CustomerController(ILoggingService logger)

   {

      this.logger = logger;

   }

}

Pandangan yang sangat ditaip

ASP.Net Core MVC memberikan sokongan untuk paparan yang sangat ditaip. Jadi, paparan pisau cukur anda juga dapat ditaip 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.