将 Umbraco 7 集成到现有的 MVC 4 Web 应用程序中

Integrating Umbraco 7 into an existing MVC 4 Web application

This answer 建议应该在现有 MVC 应用程序旁边为 Umbraco 内容管理创建一个新项目。我已经按照建议创建了新项目,并通过 NuGet 安装了 Umbraco。

所以现在我有 2 个项目,一个用于我的 MVC 应用程序,一个用于 CMS。两者都按预期工作,这意味着我可以在构建新创建的 Umbraco 项目后通过 Umbraco UI 添加内容。

我的问题是,如何从 MVC 应用程序内部查询内容以便在我的视图中显示可管理的内容?似乎可以通过 Umbraco REST API 来完成,但是由于两个数据库(对于 MVC 应用程序和 CMS 应用程序)将驻留在同一台服务器上,这似乎效率不高。

传统上 Umbraco 的问题之一是它不是纯 MVC 架构。这意味着人们有时会相信他们能够实施 100% MVC 解决方案,然后只需通过 Umbraco 管理他们的内容。

坏消息是,到目前为止,您已经发现了 Umbraco 的主要问题。也就是说,它不使用标准 MVC 渲染引擎渲染事物。它必须使用自定义控制器来检索视图模型,例如 SurfaceControllers 或 UmbracoApiControllers(如您使用 REST 服务 return 页面数据的示例所述)。

好消息是情况正在好转。版本 7.3.0 将是第一个与 MVC 5 捆绑在一起的标准版本。查看测试版 here 看看它是否更适合您的需求。当然,您可能也需要将 MVC 项目升级到 MVC 5。

希望 7.3.0 会好起来。