標籤:view trim eth ret static efault font using center
03、手工建立Asp.Net Core 2.0 web應用程式(探索最小架構)一、建立一個乾淨的控制台程式這裡我們使用的開發工具是VS2017項目只有一個Program.cs類。 二、讓控制台程式可以響應Web請求1.讓控制台程式成為Web宿主,需要引用WebHost包Microsoft.AspNetCore.Hosting 2.我們不想用IIS作為伺服器,可以使用Kestrel作為Web伺服器Microsoft.AspNetCore.Server.Kestrel 3.使用Nuget應必要包之後的項目結構 4.指定Web伺服器,並啟動WebHost在Main方法中加入如下代碼
using Microsoft.AspNetCore.Hosting;namespace MyWeb{ class Program { static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() // 指定WebServer為Kestrel .UseStartup<Startup>() // 配置WebHost .Build(); host.Run(); // 啟動WebHost } }}
建立一個Startup類,用於配置WebHost
using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Builder;using Microsoft.Extensions.Logging;using Microsoft.AspNetCore.Http;namespace MyWeb{ class Startup { public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.Run(c => { return c.Response.WriteAsync("Hello dotnet core."); }); } }}
5.啟動我們這個乾淨的Web應用程式 6.訪問網站 7.讓網站的響應能力強一點
using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Builder;using Microsoft.Extensions.Logging;using Microsoft.AspNetCore.Http;namespace MyWeb{ class Startup { public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.Run(c => { var req = c.Request.Path.ToString().TrimStart(‘/‘); var res = string.Empty; switch (req) { case "1": res = "one"; break; case "2": res = "two"; break; default: res = "none"; break; } var mtd = string.Empty; switch (c.Request.Method) { case "GET": mtd = "請求方式: get"; break; case "POST": mtd = "請求方式:post"; break; default: mtd = "請求方式:none"; break; } return c.Response.WriteAsync(res); }); } }}
View Code效果如下:至此,我們使用Asp.Net Core 2.0建立了一個最小架構的Web應用程式。
8.查看一下編譯後的檔案
我們並沒有看到我們使用Nuget應用的兩個包,這也說明.NetCore2.0做了運行時包倉最佳化。參考:02、NetCore2.0--引用系統和第三方包時的最佳化
03、手工建立Asp.Net Core 2.0 web應用程式(探索最小架構)