在 ASP.NET Core 中安装 MVC
目錄
本文出自《從零開始學(xué) ASP.NET CORE MVC》目錄?
視頻課程效果更佳:從零開始學(xué) Asp.Net Core MVC?
在ASP.NET Core 中安裝 MVC
在本視頻中,我們將討論在 ASP.NET Core 應(yīng)用程序中設(shè)置 MVC。
到目前為止,我們在本系列視頻中使用的 ASP.NET Core 項目是使用“空”項目模板生成的。目前這個項目沒有設(shè)置和安裝 MVC。
兩個步驟學(xué)會在 ASP.NET Core 配置 MVC
步驟 1:在 Startup.cs 文件中的 Startup 類的**ConfigureServices()**方法中,見下方代碼。 這行代碼將所需的 MVC 服務(wù)添加到 asp.net core 中的依賴注入容器中。
services.AddMvc();步驟 2:在 Configure()方法中,將**UseMvcWithDefaultRoute()**中間件添加到我們的應(yīng)用程序的請求處理管道中。 修改代碼,如下所示。
public void Configure(IApplicationBuilder app, IHostingEnvironment env){
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
注意,我們在**UseMvcWithDefaultRoute()中間件之前放置了UseStaticFiles()中間件。 此順序很重要,因為如果請求是針對靜態(tài)文件(如圖像,CSS 或 JavaScript 文件),則UseStaticFiles()**中間件將處理請求并使管道的其余部分短路。
因此, 如果請求是針對靜態(tài)文件, 則不會執(zhí)行**UseMvcWithDefaultRoute () **中間件, 從而避免不必要的處理。
另一方面, 如果請求是 MVC 請求, **UseStaticFiles ()**中間件將把該請求傳遞給?UseMvcWithDefaultRoute()?中間件, 中間件將處理請求并生成響應(yīng)。
請注意, 除了UseMvcWithDefaultRoute ()?中間件之外, 我們還有**UseMvc ()**中間件。現(xiàn)在, 讓我們使用?UseMvcWithDefaultRoute()?中間件。
在我們即將推出的視頻中, 當(dāng)我們討論路由時, 我們將討論這兩個中間件之間的區(qū)別。
此時,如果我們運行應(yīng)用程序并導(dǎo)航到 URL -http://localhost:49119,我們會看到“Hello World!” 消息顯示在瀏覽器中。
使用管道中配置的 UseMvcWithDefaultRoute()中間件,當(dāng)我們向 URL 發(fā)出請求時 - http://localhost:49119
由于請求不是針對靜態(tài)文件,因此 UseStaticFiles()中間件會將請求傳遞給 UseMvcWithDefaultRoute()中間件
由于我們尚未在 URL 中指定控制器和操作方法段,因此 UseMvcWithDefaultRoute()中間件在 HomeController 中查找 Index()方法。
由于目前我們的應(yīng)用程序中沒有 HomeController,因此 UseMvcWithDefaultRoute()中間件將請求傳遞給使用 Run()方法注冊的中間件,因此我們看到“Hello World!” 此中間件生成的消息。
現(xiàn)在讓我們看看,如果我們刪除 Run()中間件會發(fā)生什么。 此時,Configure()方法中的代碼必須如下所示。
public void Configure(IApplicationBuilder app, IHostingEnvironment env){
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
有了上面的代碼,如果我們再次向 URL 發(fā)出請求 - http://localhost:49119,我們現(xiàn)在看到 404 錯誤。 這是因為 UseMvcWithDefaultRoute()中間件沒有找到帶有 Index()動作的 HomeController,并且管道中沒有其他中間件,所以我們看到 404 錯誤。
添加 HomeController
在項目根文件夾中添加 Controllers 文件夾。 在“控制器”中添加一個新的控制器。 復(fù)制并粘貼以下代碼。
public class HomeController{
public string Index()
{
return "Hello from MVC";
}
}
生成解決方案并向應(yīng)用程序 URL 發(fā)出請求 - http://localhost:49119。 現(xiàn)在,您將看到瀏覽器中顯示的字符串 - “Hello from MVC”。
總結(jié)
以上是生活随笔為你收集整理的在 ASP.NET Core 中安装 MVC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#8.0的两个有趣的新特性以及gRPC
- 下一篇: 收起.NET程序的dll来