将CMS与现有的ASP.NET网站集成

10

我正尝试将一个CMS集成到一个使用.aspx文件和.aspx.cs代码后置文件(未编译)构建的现有ASP.NET网站中。

我的研究表明,N2 CMS是最佳选择。

我的理想方法是配置编辑器与各种可编辑内容类型,并使我的现有页面和用户控件使用API检索内容并将其以程序方式放置到容器中。

我找不到如何做到这一点,有人知道如何做到吗?

是否有其他更适合此任务的CMS?

3个回答

6
我们曾经使用这种精确的设置将现有的Web应用程序(WebForms + MVC)与N2集成,就像您在以前的项目中描述的那样,实现起来相当简单,但是现在我们已经转而使用umbraco达到相同的目的,原因如下:
  • 更好的支持(更大的社区)
  • 更好的后端编辑器
  • 更多可用模块(甚至商业支持的模块)
  • 更丰富的后端(适当的多语言支持)
  • 可配置而非面向代码(这是一个优点/缺点,取决于您需要什么)
一条重要的注意事项:
不要浪费时间在同一ASP.NET应用程序中托管CMS +实际应用程序。我们所有的安装都是分开的,回头看我们也不会做出不同的选择,特别是当您已经存在具有路由等的现有Web应用程序时。 CMS最终只会搞乱这个。 这也不是CMS特定的。

Umbraco确实是一个很棒的CMS,我有一些使用经验,但似乎将其集成到我的现有网站中会非常困难。 - Variant
这正是我想的,但只要保持 CMS 和 Web 应用程序分离,实际上就没有任何问题。你只需使用 CMS 进行值存储/编辑,并通过 API 查询所需数据。当你尝试将 CMS 合并到应用程序中时(对于 N2 和 Umbraco 都是如此),问题就开始了,因此请远离这种方法。 - ntziolis
在不同的应用程序中托管的想法非常好。您的页面如何从umbraco查询内容?使用HTTP还是直接使用umbraco API从数据库查询? - Variant
有时候两者都会用到,但大部分情况下我们使用Umbraco API是出于性能考虑,只需确保数据库实际上是同一台机器即可。 - ntziolis
同一台机器还是使用相同的数据库?(也就是说,使用相同的连接字符串)?我的设置有多个负载均衡的Web服务器连接到单个数据库服务器。 - Variant
在你的情况下使用同一个数据库。只是强调要将其托管在Umbraco和应用程序都可以尽可能快地访问的位置。 - ntziolis

1

传统的CMS相当具有侵入性,它们会指导你构建系统的方式。如果你已经有一个网站,只想在其中添加一些内容管理功能,那么你就很倒霉了——所有传统的CMS都希望你拆除旧网站,并从头开始重建。

将CMS和Web应用程序分开是一个好主意。在这种情况下,你所需要的只是在网页上放置一些标记,告诉CMS应该管理什么内容。这就是ElasticWCM(http://www.elasticWCM.com)试图做的事情。

对于网站开发人员来说,ElasticWCM只是一组ASP.NET控件,你可以将其包装在Html周围,使内容易于管理。当你点击PageToolbar控件上的“编辑页面”按钮时,你会被重定向到丰富的页面编辑器,你可以在那里管理所有的内容字段。无需安装任何东西,只需引用控件的DLL即可。

你不可能比这更少侵入性了。作为奖励,你还会获得全面的多语言CMS和一堆独特的功能。


0

我们在使用Telerik的Sitefinity时取得了相当不错的运气。它基于.net,易于扩展,并且具有良好的插件集合。缺点是价格较高。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接