将sitecore项目与另一个.net项目合并

时间:2012-03-31 18:29:06

标签: c# asp.net sitecore

我有一个独特的要求,我需要与sitecore见面,我想知道它是否可行。客户端有一个现有的.net解决方案,它是一个构建在spring框架和商业服务器上的Web项目(网站,而不是Web应用程序)。他们现在想要使用sitecore在“部分”页面上启用内容编辑。要求是他们不想维护母版页和sitecore中的任何常见项,但他们希望sitecore能够使用母版页以及他们在自定义解决方案中拥有的所有控件。我已经检查了他们的项目,他们对许多其他引用和项目有很多依赖,所以它不是一个相当简单的应用程序。他们不希望专门在sitecore中拥有母版页,并且他们只想要sitecore来进行主要内容编辑。他们基本上希望sitecore中的所有布局都使用他们的母版页。我已经尝试过使用虚拟目录,然后在sitecore中使用母版页,但是在他们的项目中有太多的依赖项。我试图将sitecore作为一个应用程序放在自己的目录中,但它似乎不能很好地工作。我可以尽可能多地合并web.configs,但是当它升级的时候会引起头疼......我的更高层次的问题是,这是否可行,如果有办法的话我可以满足这个要求。

2 个答案:

答案 0 :(得分:1)

最初的想法是,使用Sitecore中的母版页是一个非首发。拥有这样的要求并且已经规定了Sitecore似乎很奇怪。

想到了三个想法。

1)考虑将解决方案分开,并在一个干净,标准的Sitecore解决方案中托管某些Sitecore页面。使用负载均衡器指示哪些URL指向哪里。这种方法可能会对会话等产生许多副作用。

2)将现有解决方案迁移到Sitecore,用Sitecore布局和子布局替换母版页。同时,迁移到Web应用程序项目。这很可能是最好的长期方法。主要的挑战是将现有内容映射到Sitecore中的一组模板,以及各种重构。

3)使用Sitecore作为内容存储库,但提供现有网站解决方案中的内容。由于缺少典型的Sitecore项目,网站和网站,这将有许多复杂的因素。域上下文都需要由自定义代码处理。解决方案可以完全独立,甚至可以使用Web服务从现有解决方案提供的Sitecore中检索内容。它提供了完全分离,但是你丢失了大量的Sitecore功能,最终得到了一个昂贵的富文本编辑器+数据库。

我尽可能选择#2。

答案 1 :(得分:1)

我想我可以看到一些关于如何做到这一点的选项。我现在正在一个大型企业项目上做类似的事情,那里有一个运行大部分站点的现有ASP.NET MVC应用程序。以下是我能想到的一些选择:

  1. 在Sitecore内容中使用Sitecore-only内容和<iframe>的子域,或者对Sitecore页面执行HTTP GET并将内容提取到现有应用程序中。例如。 sc.mysite.com是Sitecore应用。我现在正在使用MVC进行此操作并且很好。从内容管理POV,编辑仍然可以在Sitecore页面上以独立状态使用页面编辑模式,但内容在主MVC站点的fed fed状态下生成。

  2. Sitecore可以使用MasterPages,它只是破坏了Sitecore表示层的目的。从本质上讲,您可以让您的Sitecore布局继承自MasterPage,它就像任何普通应用程序一样继承。我不确定缓存的含义。只要您的应用引用Sitecore程序集,您就可以使用API​​,只要它是Sitecore上下文的一部分。如果您将MasterPages与Sitecore一起使用,请确保添加带有 webedit 键的占位符以允许页面编辑器工作:<sc:placeholder key="webedit" runat="server" />