需求前幾天,馬老板給小明和小紅一個“待辦事項”網站,小明負責後端,小紅負責前端,並要求網站可以同時在 Windows、和 Linux 上運行。小明整理瞭一下“待辦事項”的功能清單:獲取所有待辦事項按 ID 獲取項添加新項更新現有項刪除項創建 Web 項目從“文件”菜單中選擇“新建”>“項目” 。選擇“ASP.NET Core Web 應用程序”模板,再單擊“下一步” 。將項目命名為 App001,然後單擊“創建”。在“創建新的 ASP.NET Core Web 應用程序”對話框中,確認選擇“.NET Core”和“ASP.NET Core 3.1” 。 選擇“API”模板,然後單擊“創建” 。測試 API按 Ctrl+F5 運行應用。 Visual Studio 啟動瀏覽器並導航到 https://localhost:<port>/WeatherForecast,其中 <port> 是隨機選擇的端口號。到目前為止,小明已經成功創建並運行瞭一個WebApi項目。項目結構從這個圖中可以看出WebApi項目主要由Program.cs,Startup.cs,appsettings.json,WeatherForecastController.cs文件組成,那麼現在我們一個一個介紹一下這幾個文件主要由什麼作用。Program類它是所有.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>();
});
}
代碼不復雜,創建泛型主機並運行。Startup類主要包括 ConfigureServices 方法以配置應用的服務和Configure 方法以創建應用的請求處理管道。// 運行時將調用此方法。 使用此方法將服務添加到容器。
public void ConfigureServices(IServiceCollection services)
{
}
// 運行時將調用此方法。 使用此方法來配置HTTP請求管道。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
}
appsettings.jsonappsettings.json是在core中的配置文件,類似與以前asp.net中的web.configWeatherForecastController.cs就是一個控制器,就是處理 Web API 請求,派生自 ControllerBase 的控制器類。[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
發佈到IIS在 Windows Server 上安裝.NET Core Hosting Bundle。https://dotnet.microsoft.com/download/dotnet-core/3.1創建 IIS 站點在 IIS 服務器上,創建一個文件夾以包含應用已發佈的文件夾和文件。 在接下來的步驟中,文件夾路徑作為應用程序的物理路徑提供給 IIS。在 IIS 管理器中,打開“連接”面板中的服務器節點。 右鍵單擊“站點”文件夾。 選擇上下文菜單中的“添加網站”。提供網站名稱,並將“物理路徑”設置為所創建應用的部署文件夾 。 提供“綁定”配置,並通過選擇“確定”創建網站 。發佈和部署應用將應用發佈到一個文件夾。文件夾的內容將移動到 IIS 站點的文件夾(IIS 管理器中站點的物理路徑)。小結目前為止,小明創建並運行WebApi應用,並瞭解WebApi項目結構及各個文件的用途,然後把WebApi應用發佈到IIS並可以在瀏覽器中訪問它。小明摸瞭摸光滑的腦袋,打算先喝一杯咖啡讓腦袋休息一下。