Tạo một dự án MVC trong ASP.NET Core

 9/4/2019 |  Admin   3663 lượt xem

(netcore.vn) - Tạo một dự án MVC trong ASP.NET Core

Trong chương này, chúng tôi sẽ thiết lập khung MVC trong ứng dụng FirstAppDemo của chúng tôi. Chúng tôi sẽ tiến hành bằng cách xây dựng một ứng dụng web trên nền tảng ASP.NET Core, và cụ thể hơn là khung công tác ASP.NET Core MVC. Về mặt kỹ thuật, chúng tôi có thể xây dựng toàn bộ ứng dụng chỉ bằng phần mềm trung gian, nhưng ASP.NET Core MVC cung cấp cho chúng tôi các tính năng mà chúng tôi có thể sử dụng để dễ dàng tạo các trang HTML và API dựa trên HTTP.

Để thiết lập khung MVC trong dự án trống của chúng tôi, hãy làm theo các bước sau -

  • Cài đặt gói Microsoft.AspNet.Mvc, cho phép chúng tôi truy cập vào các hội đồng và các lớp được cung cấp bởi khung.
  • Sau khi gói được cài đặt, chúng ta cần đăng ký tất cả các dịch vụ mà ASP.NET MVC yêu cầu khi chạy. Chúng tôi sẽ làm điều này bên trong phương thức ConfigureService.
  • Cuối cùng, chúng ta cần thêm phần mềm trung gian cho ASP.NET MVC để nhận yêu cầu. Về cơ bản, phần mềm trung gian này nhận một yêu cầu HTTP và cố gắng chuyển yêu cầu đó đến một lớp C # mà chúng ta sẽ viết.

Bước 1 - Chúng ta hãy đến trình quản lý gói NuGet bằng cách nhấp chuột phải vào Quản lý gói NuGet. Cài đặt gói Microsoft.AspNet.Mvc, cho phép chúng tôi truy cập vào các hội đồng và các lớp được cung cấp bởi khung.

Microsoft.AspNet.MVC

Bước 2 - Sau khi gói Microsoft.AspNet.Mvc được cài đặt, chúng tôi cần đăng ký tất cả các dịch vụ mà ASP.NET Core MVC yêu cầu khi chạy. Chúng tôi sẽ làm điều này với phương thức ConfigureService. Chúng tôi cũng sẽ thêm một bộ điều khiển đơn giản và chúng tôi sẽ thấy một số đầu ra từ bộ điều khiển đó.

Hãy để chúng tôi thêm một thư mục mới cho dự án này và gọi nó là Bộ điều khiển. Trong thư mục này, chúng ta có thể đặt nhiều bộ điều khiển như hiển thị bên dưới trong Solution Explorer.

Controllers

Bây giờ, nhấp chuột phải vào thư mục Bộ điều khiển và chọn tùy chọn menu Thêm → Lớp.

Add Class

Bước 3 - Ở đây chúng tôi muốn thêm một lớp C # đơn giản và gọi lớp HomeContoder này và sau đó bấm vào nút Thêm như trong ảnh chụp màn hình ở trên.

Home Controller

Đây sẽ là trang mặc định của chúng tôi.

Bước 4 - Chúng ta hãy định nghĩa một phương thức công khai duy nhất trả về một chuỗi và gọi Phương thức đó là Index như trong chương trình sau.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks;  

namespace FirstAppdemo.Controllers { 
   public class HomeController { 
      public string Index() { 
         return "Hello, World! this message is from Home Controller..."; 
      } 
   } 
}

Bước 5 - Khi bạn vào thư mục gốc của trang web, bạn muốn xem phản hồi của bộ điều khiển. Kể từ bây giờ, chúng tôi sẽ phục vụ tệp index.html của chúng tôi.

Controller Response

Hãy để chúng tôi đi vào thư mục gốc của trang web và xóa index.html. Chúng tôi muốn bộ điều khiển phản hồi thay vì tệp index.html.

Bước 6 - Bây giờ hãy chuyển đến phương thức Cấu hình trong lớp Khởi động và thêm phần sử dụng phần mềm trung gian UseMvcWithDefaultRoute.

UseMvc Default Route

Bước 7 - Bây giờ làm mới ứng dụng ở thư mục gốc của trang web.

Refresh the Application

You will encounter a 500 error. The error says that the framework was unable to find the required ASP.NET Core MVC services.

The ASP.NET Core Framework itself is made up of different small components that have very focused responsibilities.

For example, there is a component that has to locate and instantiate the controller.

That component needs to be in the service collection for ASP.NET Core MVC to function correctly.

Step 8 − In addition to adding the NuGet package and the middleware, we also need to add the AddMvc service in the ConfigureServices. Here is the complete implementation of the Startup class.

using Microsoft.AspNet.Builder; 
using Microsoft.AspNet.Hosting; 
using Microsoft.AspNet.Http; 

using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Configuration;  

namespace FirstAppDemo { 
   public class Startup { 
      public Startup() { 
         var builder = new ConfigurationBuilder() .AddJsonFile("AppSettings.json"); 
         Configuration = builder.Build(); 
      }  
      public IConfiguration Configuration { get; set; }
      
      // This method gets called by the runtime. 
      // Use this method to add services to the container. 
      // For more information on how to configure your application, 
      // visit http://go.microsoft.com/fwlink/?LinkID=398940 
      public void ConfigureServices(IServiceCollection services) { 
         services.AddMvc(); 
      }
      
      // This method gets called by the runtime.  
      // Use this method to configure the HTTP request pipeline. 
      public void Configure(IApplicationBuilder app) { 
         app.UseIISPlatformHandler();  
         
         app.UseDeveloperExceptionPage(); 
         app.UseRuntimeInfoPage();  
         
         app.UseFileServer(); 
         app.UseMvcWithDefaultRoute();  
         
         app.Run(async (context) => { 
            var msg = Configuration["message"]; 
            await context.Response.WriteAsync(msg); 
         });
      } 
      
      // Entry point for the application. 
      public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
   }  
}            

Bước 9 - Lưu tệp Startup.cs và vào trình duyệt và làm mới nó. Bây giờ bạn sẽ nhận được phản hồi từ bộ điều khiển nhà của chúng tôi.

Startup.Cs HomeController

liên quan

Tìm hiểu tất tần tật về Model Validation trong ASP.NET Core  4160

 2/23/2020

HTTP 400 Responses có gì mới trong web APIs của ASP.NET Core

Xem chi tiết 

HTTP 400 Responses có gì mới trong web APIs của ASP.NET Core  2799

 2/23/2020

HTTP 400 Responses có gì mới trong web APIs của ASP.NET Core

Xem chi tiết 

ASP.NET Core - Đăng nhập và đăng xuất  20216

 9/5/2019

Sau đây, NET Core VN xin giới thiệu 2 chức năng đăng nhập và đăng xuất trong ASP.NET Core.

Xem chi tiết 

ASP.NET Core - CRUD cho User module  4932

 9/5/2019

Sau đây, NET Core VN xin giới thiệu CRUD thông tin User trong ASP.NET Core.

Xem chi tiết 

Identity Migrations trong ASP.NET Core  2990

 9/5/2019

Sau đây, .NET Core VN xin giới thiệu về chạy migration cho Identity trong ASP.NET Core.

Xem chi tiết 

Cấu hình Identity trong ASP.NET Core  4277

 9/5/2019

Cấu hình Identity trong ASP.NET Core

Xem chi tiết 

Thuộc tính Authorize trong ASP.NET Core  5262

 9/5/2019

Thuộc tính Authorize trong ASP.NET Core

Xem chi tiết 

Tổng quan về Identity trong ASP.NET Core  5360

 9/5/2019

Tổng quan về Identity trong ASP.NET Core

Xem chi tiết 

ASP.NET Core - Razor Edit Form là gì?  2465

 9/5/2019

ASP.NET Core - Razor Edit Form là gì?

Xem chi tiết 

ASP.NET Core - Razor Tag Helpers là gì?  2563

 9/5/2019

ASP.NET Core - Razor Tag Helpers là gì?

Xem chi tiết 
Like Fanpage Để Ủng Hộ Chúng Tôi Duy Trì Website