复合C1 - 有没有人在它上面构建一个应用程序?

时间:2014-02-19 07:04:22

标签: asp.net-mvc linq c1-cms

我有一个非常大的现有应用程序,使用SQL Server数据库和MVC内置的LINQ to SQL。它做了它需要做的非常好的事情,但CMS很遗憾(它很难,使用起来很复杂并容易出错)。

我喜欢Composite C1的外观来迁移此应用程序,以便我的用户可以获得良好的CMS体验。

我真的不想把我的开发集中在C1上,所以我一直在寻找创建MVC应用程序:

http://docs.composite.net/Functions/MVC

我创建了一个示例控制器,查看然后将一些静态数据返回到视图,最后将一些数据发布到控制器。所有作为“普通”MVC应用程序都可以。

有没有人将这个概念用于真实世界的应用程序?这个想法是,如果用户想要在页面上显示我的一个控件,他们只需通过Composite编辑器添加控件。我还将在安装时添加基本页面。

这是一个模糊的问题,但我真的在寻找以下方面的反馈:

1)你需要如何“参与”复合C1的东西?我想创建我的控制器和其他类来完成我的工作

2)这种方法的表现如何?

3)你遇到过很多陷阱吗?

1 个答案:

答案 0 :(得分:2)

我在Composite C1环境中/之上构建了一个更大的应用程序,所以我可以说它绝对可行,并且与.NET应用程序开发的兼容性实际上是我们首先选择Composite的主要原因之一。

  

1)你需要如何“参与”复合C1的东西?我想创建我的控制器和其他类来完成我的工作

在开发完整的应用程序时,您将无法完全忽略Composite相关的所有内容,只是因为您的控件/视图/控制器将运行并由Composite C1呈现。因此,某些工作必须至少部分由您构建的C1基础完成,例如路由,异常处理或渲染。

但是,您通常可以使用或围绕这些功能而不会遇到太多麻烦。然而,它可能需要了解复合材料的工作原理。

  

2)这种方法的表现如何?

到目前为止,我不能说Composite会以任何显着的方式减慢应用程序的速度。事实上它可能在输出缓存等任务中为您提供支持。

  

3)你遇到过很多陷阱吗?

这是一个非常广泛的问题,但您通常必须确保知道某些内容是否属于某个控件,或者更适合复合组件(页面,可重用的html块)。如果你把东西放在错误的地方,由于当前上下文中不存在信息,最简单的事情将变得复杂(如创建页面链接)。但正如我所说,你可以通过巧妙的设计解决这个问题。

需要注意的另一件事是,使用Composite应用程序首先设置正确的源代码版本要困难得多,因为您必须弄清楚什么是内容以及什么是应用程序。

到目前为止,我已经与C1取得了很好的经验,并将在未来使用它。与一个vanilla ASP.NET应用程序相比,首先进入它可能需要更多的时间,但是关于CMS部件的工作是值得的。