来自多个模块目录的 ServiceStack Razor 视图
ServiceStack Razor Views from Multiple Module Directories
我正在开始一个新项目,其想法是将项目 file/folder 结构组织到不同的模块 (.csproj) 中,最后一旦部署,这些模块将被加载到 MainModule 的一个 AppHost(这些子模块将充当插件)。
但是,为了更好地管理物理文件 (SVN/VCS) 和有效组织我的项目文件,这些模块也将在 SVN 中作为单独的项目进行维护。 想法是在其自己的模块目录范围内拥有每个模块特定的视图、资产等。 (Refer screenshot)。
- 主模块
- 子模块一
- 观看次数
- ModuleOneDefault.cshtml
- 子模块二
- 观看次数
- ModuleTwoDefault.cshtml
- 观看次数
- 已分享
- _Layout.cshtml
- Hello.cshtml
模块特定文件将作为 post 构建操作复制到根项目路径中,而不是直接复制到 /Views(如果复制则会弄乱主模块的 Views 文件夹)。
问题在于 ServiceStack 如何从 /Views 文件夹加载和处理 Razor 视图,而外部的任何内容都被视为内容页面。 More about this, explained here...!
在 VirtualFileSystem 到位后,我正在大声思考在各自的“/ModuleOne/Views/”文件夹中但在根“/Views”之外维护模块特定视图。不知何故,这似乎行不通,试图寻求有关如何实现或适当处理的帮助。
PS:我知道 Views 文件夹之外的任何内容都是内容页面,但是我们的想法仍然是作为 Views 文件夹维护,但在不同的层次结构中——希望 ServiceStack Razor 功能无论如何都能很好地处理嵌套(DEEP)结构但在根 /Views 文件夹中,而不是在整个项目根文件夹中,即“/”。
问题是,这是否可以在不进行任何繁重工作的情况下按默认情况实现?或者我应该有自定义的 VirtualPathProvider 实现等吗?
非常感谢您的意见和想法!
谢谢!
所有 Razor 视图必须位于 /Views
文件夹中,否则它们可以是任何层次结构,因为任何级别的嵌套都不会影响它们的解析方式,它们只需要唯一命名,例如:
/Views
/SubModuleOne
ModuleOneDefault.cshtml
/SubModuleTwo
ModuleTwoDefault.cshtml
/Shared
_Layout.cshtml
我正在开始一个新项目,其想法是将项目 file/folder 结构组织到不同的模块 (.csproj) 中,最后一旦部署,这些模块将被加载到 MainModule 的一个 AppHost(这些子模块将充当插件)。
但是,为了更好地管理物理文件 (SVN/VCS) 和有效组织我的项目文件,这些模块也将在 SVN 中作为单独的项目进行维护。 想法是在其自己的模块目录范围内拥有每个模块特定的视图、资产等。 (Refer screenshot)。
- 主模块
- 子模块一
- 观看次数
- ModuleOneDefault.cshtml
- 观看次数
- 子模块二
- 观看次数
- ModuleTwoDefault.cshtml
- 观看次数
- 观看次数
- 已分享
- _Layout.cshtml
- Hello.cshtml
- 已分享
- 子模块一
模块特定文件将作为 post 构建操作复制到根项目路径中,而不是直接复制到 /Views(如果复制则会弄乱主模块的 Views 文件夹)。
问题在于 ServiceStack 如何从 /Views 文件夹加载和处理 Razor 视图,而外部的任何内容都被视为内容页面。 More about this, explained here...!
在 VirtualFileSystem 到位后,我正在大声思考在各自的“/ModuleOne/Views/”文件夹中但在根“/Views”之外维护模块特定视图。不知何故,这似乎行不通,试图寻求有关如何实现或适当处理的帮助。
PS:我知道 Views 文件夹之外的任何内容都是内容页面,但是我们的想法仍然是作为 Views 文件夹维护,但在不同的层次结构中——希望 ServiceStack Razor 功能无论如何都能很好地处理嵌套(DEEP)结构但在根 /Views 文件夹中,而不是在整个项目根文件夹中,即“/”。
问题是,这是否可以在不进行任何繁重工作的情况下按默认情况实现?或者我应该有自定义的 VirtualPathProvider 实现等吗?
非常感谢您的意见和想法!
谢谢!
所有 Razor 视图必须位于 /Views
文件夹中,否则它们可以是任何层次结构,因为任何级别的嵌套都不会影响它们的解析方式,它们只需要唯一命名,例如:
/Views
/SubModuleOne
ModuleOneDefault.cshtml
/SubModuleTwo
ModuleTwoDefault.cshtml
/Shared
_Layout.cshtml