前幾天,馬老闆給小明和小紅一個「待辦事項」網站,小明負責後端,小紅負責前端,並要求網站能夠同時在 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並能夠在瀏覽器中訪問它。小明摸了摸光滑的腦殼,打算先喝一杯咖啡讓腦殼休息一下。