在ASP.NET Core 中使用應用程式模型 | NET Core MVC
本文內容 作者:SteveSmith[1]ASP.NETCoreMVC定義了一個「應用程式模型」,代表MVC應用程式的元件。讀取和操作此模型,以修改MVC元素的行為。根據預設,MVC會遵循特定慣例來判斷哪些類別被視為控制器、哪些類別上的方法是動作,以及參數和路由的行為。藉由建立自訂慣例並全域套用或作為屬性,自訂此行為以符合應用程式的需求。()模型和提供者IApplicationModelProviderASP.NETCoremvc應用程式模型包含抽象介面和描述MVC應用程式的具體實作為類別。此模型是MVC根據預設慣例來探索應用程式控制器、動作、動作參數、路由和...
本文內容作者:Steve Smith[1]
ASP.NET Core MVC 定義了一個「應用程式模型」,代表 MVC 應用程式的元件。 讀取和操作此模型,以修改 MVC 元素的行為。 根據預設,MVC 會遵循特定慣例來判斷哪些類別被視為控制器、哪些類別上的方法是動作,以及參數和路由的行為。 藉由建立自訂慣例並全域套用或作為屬性,自訂此行為以符合應用程式的需求。
() 模型和提供者 IApplicationModelProviderASP.NET Core mvc 應用程式模型包含抽象介面和描述 MVC 應用程式的具體實作為類別。 此模型是 MVC 根據預設慣例來探索應用程式控制器、動作、動作參數、路由和篩選條件的結果。 使用應用程式模型,修改應用程式以遵循預設 MVC 行為中的不同慣例。 參數、名稱、路由和篩選條件全都用作動作與控制器的組態資料。
ASP.NET Core MVC 應用程式模型具有下列結構:
ApplicationModel 控制器 (ControllerModel)模型的每個層級都可存取共同的 Properties 集合,而較低層級可以存取並覆寫階層架構中較高層級所設定的屬性值。 屬性會在建立動作時保存到 ActionDescriptor.Properties[2]。 然後當處理要求時,可以透過 ActionContext.ActionDescriptor[3] 來存取慣例所新增或修改的任何屬性。 使用屬性是根據每個動作來設定篩選、模型系結器和其他應用程式模型層面的絕佳方式。
注意
在 ActionDescriptor.Properties[4] 應用程式啟動之後,集合不會 (寫入) 的安全線程。 慣例是安全地將資料新增至此集合的最佳方式。
ASP.NET CoreMVC 會使用介面所定義的提供者模式來載入應用程式模型 IApplicationModelProvider[5] 。 本節涵蓋此提供者運作方式的一些內部實作詳細資料。 使用提供者模式是先進的主旨,主要用於架構用途。 大部分的應用程式都應該使用慣例,而不是提供者模式。
介面的實作為「 IAp...