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

C# 将sitecore项目与另一个.net项目合并,c#,asp.net,sitecore,C#,Asp.net,Sitecore,我有一个独特的要求,我需要满足与sitecore,我想知道它是否可行。客户端有一个现有的.net解决方案,它是一个基于spring框架和commerce服务器的web项目(web站点,而不是web应用程序)。他们现在希望使用sitecore在“某些”页面上启用内容编辑。要求是,他们不希望维护sitecore中的母版页和任何公共项,但希望sitecore能够使用母版页和自定义解决方案中的所有控件。我检查了他们的项目,他们对许多其他参考和项目有很多依赖性,因此这不是一个相当简单的应用程序。他们不希望

我有一个独特的要求,我需要满足与sitecore,我想知道它是否可行。客户端有一个现有的.net解决方案,它是一个基于spring框架和commerce服务器的web项目(web站点,而不是web应用程序)。他们现在希望使用sitecore在“某些”页面上启用内容编辑。要求是,他们不希望维护sitecore中的母版页和任何公共项,但希望sitecore能够使用母版页和自定义解决方案中的所有控件。我检查了他们的项目,他们对许多其他参考和项目有很多依赖性,因此这不是一个相当简单的应用程序。他们不希望在sitecore中专门包含母版页,他们只希望sitecore用于主内容编辑。他们基本上希望sitecore中的所有布局都使用其母版页。我尝试过使用虚拟目录,然后在sitecore中使用母版页,但它们的项目中有太多的依赖项。我曾试图使sitecore成为自己目录中的一个应用程序,但它似乎工作得不太好。我可以尽可能多地合并web.configs,但在升级的时候,这会让人头疼……我更高层次的问题是,这是否可行,以及是否有一种方法可以满足这一要求。

最初的想法是,在Sitecore中使用母版页有点不可行。有这样的要求,并且已经规定了Sitecore,这似乎很奇怪

我想到了三个主意

1)考虑将解决方案分开,并在干净、标准、SITECORE溶液中托管某些SITECORE页。使用负载平衡器来指示哪些URL指向哪里。这种方法可能会有很多副作用,与会话等有关

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

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


如果可能的话,我会选择#2。

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

  • 在Sitecore内容中为仅Sitecore的内容和
    使用子域,或者对Sitecore页面进行HTTP访问,并将内容拉入现有应用程序。例如,
    sc.mysite.com
    是Sitecore应用程序。我现在正在用MVC做这件事,很好。从内容管理的角度来看,编辑器仍然可以在独立状态下的Sitecore页面上使用页面编辑模式,但在主MVC站点上,内容正在以输入状态进行生产

  • Sitecore可以使用母版页,这完全违背了Sitecore表示层的目的。本质上,您可以让Sitecore布局继承自母版页,它的工作原理与任何普通应用程序继承时的工作原理一样。不过,我不确定缓存的含义。只要应用程序引用Sitecore程序集,就可以使用API,只要它是Sitecore上下文的一部分。如果确实将母版页与Sitecore一起使用,请确保添加带有键webedit的占位符,以允许页面编辑器工作: