前几天,马老板给小明和小红一个“待办事项”网站,小明负责后端,小红负责前端,并要求网站能够同时在 Windows、和 Linux 上运行。前端
小明整理了一下“待办事项”的功能清单:web
按 Ctrl+F5 运行应用。 Visual Studio 启动浏览器并导航到 https://localhost:<port>/WeatherForecast,其中 <port> 是随机选择的端口号。json
到目前为止,小明已经成功建立并运行了一个WebApi项目。后端
从这个图中能够看出WebApi项目主要由Program.cs,Startup.cs,appsettings.json,WeatherForecastController.cs文件组成,那么如今咱们一个一个介绍一下这几个文件主要由什么做用。浏览器
它是全部.net core程序的入口,定义了2个方法:Main() 和CreateHostBuilder();服务器
public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); }
代码不复杂,建立泛型主机并运行。app
主要包括 ConfigureServices 方法以配置应用的服务和Configure 方法以建立应用的请求处理管道。asp.net
// 运行时将调用此方法。 使用此方法将服务添加到容器。 public void ConfigureServices(IServiceCollection services) { } // 运行时将调用此方法。 使用此方法来配置HTTP请求管道。 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { }
appsettings.json是在core中的配置文件,相似与之前asp.net中的web.config测试
就是一个控制器,就是处理 Web API 请求,派生自 ControllerBase 的控制器类。网站
[ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase
https://dotnet.microsoft.com/...
目前为止,小明建立并运行WebApi应用,并了解WebApi项目结构及各个文件的用途,而后把WebApi应用发布到IIS并能够在浏览器中访问它。小明摸了摸光滑的脑壳,打算先喝一杯咖啡让脑壳休息一下。