我正在为新项目设置架构。对于此项目,我们使用的是Sitecore 7
CMS。您可能知道,Sitecore支持多站点环境。这意味着1 IIS
个实例可用于多个网站,因为Sitecore会将其解析为使用正确的代码和内容。
对于这个项目,我将有以下层次结构:
我们应该可以添加任意数量的网站。每个站点都有一个数据,业务和表示层。
我还想使用IoC容器,例如Castle Windsor
,Ninject
或Unity
。我想要核心的通用容器/内核,然后我希望能够为特定站点注册类。因此,我为网站A注册的课程不应为网站B解析
在Unity
我想你可以使用儿童容器。当Sitecore上下文满足特定要求时,我没有找到强制应用程序使用子容器的好方法。
在Ninject
中,我发现了我非常喜欢的上下文绑定,命名范围和模块。我以为我用Contextual Bindings创建了一个NinjectModule,在解析时我会检查上下文。我没有找到一个很好的通用方法来做到这一点。
但是,经过数小时的谷歌搜索后,我没有找到一个很好的例子或教程,说明如何实现这一目标,以及如何以最佳方式完成。
目前我没有偏好我想使用哪个框架。
希望有人会为我的问题提供一些启示,以便我可以取得一些进展。 提前致谢
答案 0 :(得分:2)
查看温莎的Handler Selectors。它们是多租户应用程序的一个很好的解决方案。此外,Mike Hadlow在多租户环境中有几个posts about using Handler Selectors。
答案 1 :(得分:1)
我通过在Autofac中使用多租户来解决它:https://code.google.com/p/autofac/wiki/MultitenantIntegration