在 Asp.Net Core 中安裝 MVC

在 ASP.NET Core 中安裝 MVC

到目前爲止,我們在本系列文章中使用的 ASP.NET Core 項目是使用“空”項目模板生成的。目前這個項目沒有設置和安裝 MVC。

兩個步驟學會在 ASP.NET Core 配置 MVC

步驟 1:在 Startup.cs 文件中的 Startup 類的**ConfigureServices()**方法中,見下方代碼。 這行代碼將所需的 MVC 服務添加到 asp.net core 中的依賴注入容器中。

services.AddMvc();

步驟 2:在 Configure()方法中,將**UseMvcWithDefaultRoute()**中間件添加到我們的應用程序的請求處理管道中。 修改代碼,如下所示。

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()中間件。 此順序很重要,因爲如果請求是針對靜態文件(如圖像,CSS 或 JavaScript 文件),則UseStaticFiles()**中間件將處理請求並使管道的其餘部分短路。

因此, 如果請求是針對靜態文件, 則不會執行**UseMvcWithDefaultRoute () **中間件, 從而避免不必要的處理。

另一方面, 如果請求是 MVC 請求, **UseStaticFiles ()**中間件將把該請求傳遞給 UseMvcWithDefaultRoute() 中間件, 中間件將處理請求並生成響應。

請注意, 除了UseMvcWithDefaultRoute () 中間件之外, 我們還有**UseMvc ()**中間件。現在, 讓我們使用 UseMvcWithDefaultRoute() 中間件。

在我們即將推出的視頻中, 當我們討論路由時, 我們將討論這兩個中間件之間的區別。

此時,如果我們運行應用程序並導航到 URL -http://localhost:49119,我們會看到“Hello World!” 消息顯示在瀏覽器中。

  • 使用管道中配置的 UseMvcWithDefaultRoute()中間件,當我們向 URL 發出請求時 - http://localhost:49119

  • 由於請求不是針對靜態文件,因此 UseStaticFiles()中間件會將請求傳遞給 UseMvcWithDefaultRoute()中間件

  • 由於我們尚未在 URL 中指定控制器和操作方法段,因此 UseMvcWithDefaultRoute()中間件在 HomeController 中查找 Index()方法。

  • 由於目前我們的應用程序中沒有 HomeController,因此 UseMvcWithDefaultRoute()中間件將請求傳遞給使用 Run()方法註冊的中間件,因此我們看到“Hello World!” 此中間件生成的消息。

現在讓我們看看,如果我們刪除 Run()中間件會發生什麼。 此時,Configure()方法中的代碼必須如下所示。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseStaticFiles();

    app.UseMvcWithDefaultRoute();
}

有了上面的代碼,如果我們再次向 URL 發出請求 - http://localhost:49119,我們現在看到 404 錯誤。 這是因爲 UseMvcWithDefaultRoute()中間件沒有找到帶有 Index()動作的 HomeController,並且管道中沒有其他中間件,所以我們看到 404 錯誤。

添加 HomeController

在項目根文件夾中添加 Controllers 文件夾。 在“控制器”中添加一個新的控制器。 複製並粘貼以下代碼。

public class HomeController
{
    public string Index()
    {
        return "Hello from MVC";
    }
}

生成解決方案並嚮應用程序 URL 發出請求 - http://localhost:49119。 現在,您將看到瀏覽器中顯示的字符串 - “Hello from MVC”
 

歡迎添加個人微信號:Like若所思。

歡迎關注我的公衆號,不僅爲你推薦最新的博文,還有更多驚喜和資源在等着你!一起學習共同進步!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章