今天和介紹程式的進入點和一些語法。
我們先來建立一個專案
(Program.cs)
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
*DI及Middleware會在之後分別跟大家介紹。
啟動專案時,.NET Core會建置一個「主機」。 主機會封裝所有應用程式的資源像是DI 服務
、Middleware元件
ASP.NET Core 中提供執行環境,例如 Development
、Staging
和 Production
。 透過設定 ASPNETCORE_ENVIRONMENT
環境變數來指定應用程式執行的環境。
下列範例會在未於 Development
環境中執行時,設定例外處理和使用HSTS中介軟體
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
若想設定HSTS可於程式碼加上
builder.Services.AddHsts(options =>
{
options.Preload = true;
options.IncludeSubDomains = true; //啟用 includeSubDomain,它會將 HSTS 原則套用至主機子域。
options.MaxAge = TimeSpan.FromDays(60);//設定60 天。 如果未設定,預設為 30 天。使用者的瀏覽器看到這個網域或他的子網域,就會全部改成用 HTTPS 進行連線
options.ExcludedHosts.Add("example.com");//新增 example.com 至要排除的主機清單
});
路由會使用 由 UseRouting
和 UseEndpoints
註冊的一對中介軟體,.NET 6 不需要分別呼叫 。 WebApplicationBuilder會設定中介軟體管線,把UseRouting 和 UseEndpoints 包裝成 Program.cs 的中介軟體。
預設啟用靜態檔案的目錄是 wwwroot,模板有含css
、js
、lib
。
UseHttpsRedirection
強制執行https。
啟動應用程式。
那今天就到這邊囉,大家明天見(希望別再震了)!