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

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.

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.

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.

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.

Đâ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.

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.

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

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.

Bài viết liên quan

+61404577839