使用 OrchardCMS、Umbraco 或 DotNetNuke 作为 ASP.NET 应用程序中的组件
Posted
技术标签:
【中文标题】使用 OrchardCMS、Umbraco 或 DotNetNuke 作为 ASP.NET 应用程序中的组件【英文标题】:Use OrchardCMS, Umbraco or DotNetNuke as a component in ASP.NET application 【发布时间】:2017-03-22 22:56:39 【问题描述】:OrchardCMS
、Umbraco
和 DotNetNuke
是 .Net Galaxy 中的 CMS。它们可以很好地作为独立应用程序工作。假设我有一个需要在另一个 ASP.NET MVC 应用程序中使用 CMS 功能的需求。我不喜欢在应用程序中再次实现 CMS。相反,我喜欢将当前的 CMS 用作应用程序的一个组件。
是否可以使用 OrhcardCMS 作为我的 MVC 应用程序的组件?在 CMS 和应用程序之间建立关系是理想的,例如我可以从 CMS 加载实体、更新它们等。
我知道 .Net 中有集成技术。例如,ASP.NET Identity 在核心级别与 ASP.NET 应用程序集成,但在大多数情况下必须复制和自定义视图 (CShtml)。或者与应用程序集成的 Hangfire 和 ELMAH,无需将视图(cshtml、html、css)复制到目标应用程序。事实上,很高兴知道有关将 CMS 插入 ASP.NET 应用程序的集成方法是可用的。
【问题讨论】:
还有BetterCMS,是一个NuGet包,可以集成 【参考方案1】:我可以告诉您更多关于 Umbraco 的信息,因为我对其他 CMS 的了解不如这个。对于那些想要将他们的应用程序与 Umbraco 集成的人,有一个完整的课程/培训:https://umbraco.com/products-and-support/training/umbraco-application-integration/。所以是的,这是可能的,从我的角度来看,甚至建议使用已经完成的软件,而不是再次构建***。
Umbraco 是一个 ASP.NET MVC 应用程序。您可以使用 Umbraco 组件、后台、会员资格以及 CMSish 开箱即用的所有其他内容,您仍然可以编写和使用您的业务逻辑、控制器以及您在 ASP.NET MVC / C# 应用程序中创建的所有其他内容。尽管如此,它仍然是一个 ASP.NET 应用程序,因此您可以使用 .NET 世界中的任何您想要的东西。例如,我们使用 ELMAH.io 来记录日志并将错误保存在云中。我们还使用大量的 3rd 方,包括开源和商业工具和软件来围绕我们的 Web 组件做多种事情。 Umbraco 不会阻止我们使用它们或其他任何东西。我喜欢将 Umbraco 视为一个框架或库,帮助我们处理内容编辑并为我们的客户或编辑提供大量机会。
【讨论】:
确实,我以前使用过 OrhardCMS,但从未尝试过 Umbraco。它看起来很有希望,因为“从我的角度来看,它甚至建议使用已经完成的软件而不是再次构建***。”。所以我会尝试一下。希望它也与 ASP.NET Core 兼容。 它将在未来发布,更加完善和清洁。在此处查找有关核心团队开发人员经验的更多信息:shazwazza.com/post/umbraco-cli-running-on-aspnet-core 并与 Umbraco 一起玩!【参考方案2】:说到 OrchardCMS,已经有一些问题涉及这个主题,请参阅
Reusing Orchard's Core to build another extensibility framework
Extracting a Module from Orchard
如果可能,请尝试将 Orchard 设置为基本系统并将 MVC 应用程序移动到一个模块中。这将比试图切断果园的和平容易得多。作为回报,当您将 Orchard 作为底层框架运行时,您会获得惊人的可能性,例如本地化、模块、主题、整个用户/角色管理等。
OrchardCMS 2 目前是针对可在任何应用程序中重复使用的单个组件开发的,但还远未完成。
【讨论】:
应用程序本身就是一个大型应用程序,CMS 只是它的功能之一。将应用程序作为 OrchardCMS 上的模块看起来不合逻辑。以上是关于使用 OrchardCMS、Umbraco 或 DotNetNuke 作为 ASP.NET 应用程序中的组件的主要内容,如果未能解决你的问题,请参考以下文章