1. 程式人生 > 其它 >Orchar Core 建立一個模組化的ASP.NET Core應用程式

Orchar Core 建立一個模組化的ASP.NET Core應用程式

您將構建什麼?
您將構建一個模組化的ASP.NET Core MVC Web應用程式,類似於Orchard Core附帶的示例“Hello World”應用程式。它包括一個Web應用程式和一個模組。Web應用程式提供佈局,而模組註冊路線並響應主頁請求。您可以參考Orchard Core中的以下專案瞭解更多資訊。

  • src/OrchardCore.Mvc.Web
  • src/OrchardCore.Modules/OrchardCore.Mvc.HelloWorld

您需要什麼?
當前版本的.NET SDK。你可以從這裡下載https://dotnet.microsoft.com/download.。
一個文字編輯器和一個終端,您可以在其中執行DotNet CLI命令。

建立OrchardCore站點和模組。
有不同的方式可以為Orchard Core建立站點和模組。你可以在這裡瞭解更多關於它們的資訊。
在本指南中,我們將使用我們的程式碼生成模板。您可以使用以下命令安裝模板的最新穩定版本:

dotnet new -i OrchardCore.ProjectTemplates::1.0.0-*

建立一個名為OrchardCore.Mvc的空資料夾,該資料夾將包含我們的專案。開啟一個終端,導航到該資料夾,然後執行以下命令來建立Web應用程式:

dotnet new ocmvc -n OrchardCore.Mvc.Web

接下來建立HelloWorld模組

dotnet new
ocmodulemvc -n OrchardCore.Mvc.HelloWorld

提交專案引用

dotnet add OrchardCore.Mvc.Web reference OrchardCore.Mvc.HelloWorld

(可選)如果要在Visual Studio中開啟解決方案,可以新增同時引用web應用程式和模組的解決方案檔案。

dotnet new sln -n OrchardCore.Mvc
dotnet sln add OrchardCore.Mvc.Web\OrchardCore.Mvc.Web.csproj
dotnet sln add OrchardCore.Mvc.HelloWorld\OrchardCore.Mvc.HelloWorld.csproj

測試這個程式

從包含兩個專案的OrchardCore.Mvc根資料夾中,執行以下命令以啟動web應用程式:

dotnet run --project .\OrchardCore.Mvc.Web\OrchardCore.Mvc.Web.csproj

您的應用程式現在應該在以下埠上執行和偵聽:

Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

開啟連結https://localhost:5001/OrchardCore.Mvc.HelloWorld/Home/Index可以看見Hello from OrchardCore.Mvc.HelloWorld.

佈局來自主web應用程式專案,而控制器、操作和檢視來自模組專案。

註冊一個自定義的路由

預設情況下,模組中的所有路由都遵循模式{area}/{controller}/{action},其中{area}是模組的名稱。我們將在模組中更改檢視的路徑以響應主頁請求。

在OrchardCore.Mvc.HelloWorld的Startup.cs檔案中,在Configure方法中新增自定義路由。

    routes.MapAreaControllerRoute(
        name: "Home",
        areaName: "OrchardCore.Mvc.HelloWorld",
        pattern: "",
        defaults: new { controller = "Home", action = "Index" }
    );

您還可以在模組的“檢視->主”資料夾中更改Index.cshtml檔案,使其顯示Hello World,類似於Orchard Core中的專案。

<h1>Hello World</h1>

重新啟動應用程式並導航到主頁(位於https://localhost:5001 顯示Hello World訊息。)

總結

您剛剛使用Orchard Core建立了一個模組化ASP.NET Core MVC web應用程式。它包括一個提供佈局的web應用程式和一個響應主頁請求的自定義模組