在本章中,无涯教程将在FirstAppDemo应用程序设置为MVC框架,将在ASP.NET Core(更具体地说,ASP.NET Core MVC框架)构建一个Web应用程序,从技术上讲,只能使用中间件来构建整个应用程序,但是ASP.NET Core MVC提供了可轻松创建HTML页面和基于HTTP的API的功能。
要在空项目中设置MVC框架,请遵循以下步骤-
安装 Microsoft.AspNet.Mvc 软件包,该软件包使可以访问框架提供的程序集和类。
一旦安装了软件包,需要在运行时注册ASP.NET MVC所需的所有服务,将在 ConfigureServices 方法内进行此操作。
最后,需要为ASP.NET MVC添加中间件以接收请求,本质上,这段中间件接受一个HTTP请求,并尝试将该请求定向将要编写的C#类。
步骤1 - 通过右键单击"Manage NuGet Package",进入NuGet软件包管理器,安装Microsoft.AspNet.Mvc程序包。
步骤2 - 安装Microsoft.AspNet.Mvc程序包后,需要在运行时注册ASP.NET Core MVC所需的所有服务,将使用ConfigureServices方法执行此操作,还将添加一个简单的控制器,将看到该控制器的一些输出。
向该项目添加一个新文件夹,并将其命名为 Controllers 。在此文件夹中,可以如下所示在"Solution Explorer"中放置多个控制器。
现在,右键单击Controllers文件夹,然后选择 Add→Class 菜单选项。
步骤3 - 在这里要添加一个简单的 C#类,并将其命名为 HomeController ,然后单击上面的"Add"按钮屏幕截图。
这将是默认页面。
步骤4 - 定义一个公共方法,该方法返回一个字符串并调用该方法的Index,如以下程序所示。
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..."; } } }
步骤5 - 当您转到网站的根目录时,您想查看控制器的响应,到目前为止,无涯教程将提供index.html文件。
进入网站的根目录并删除index.html,希望控制器响应而不是 index.html 文件。
步骤6 - 现在转到Startup类中的Configure方法,并添加 UseMvcWithDefaultRoute 中间件。
步骤7 - 现在在网站的根目录处刷新应用程序。
您将遇到500错误。该错误表明该框架无法找到所需的ASP.NET Core MVC服务。
ASP.NET Core Framework本身由职责非常集中的不同小组件组成。
如,有一个组件必须定位并化控制器,该组件必须位于服务集合中,ASP.NET Core MVC才能正常运行。
步骤8 - 除了添加NuGet软件包和中间件,还需要在ConfigureServices中添加AddMvc服务,这是Startup类的完整实现。
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); } }
步骤9 - 保存 Startup.cs 文件,然后转到浏览器并刷新它,您现在将收到无涯教程的 home控制器的回复。
参考链接
https://www.learnfk.com/asp.net_core/asp.net-core-setup-mvc.html
标签:Core,ASP,无涯,Microsoft,MVC,using,NET,public From: https://blog.51cto.com/u_14033984/7809877