【问题标题】:Multi-Tenant Architecture for MVC 4MVC 4 的多租户架构
【发布时间】:2013-05-02 22:08:10
【问题描述】:

我需要为多个客户端创建/发布一个复杂的 MVC 站点,每个客户端都具有大部分共享功能,但也有自定义内容,例如客户端特定的控制器/视图/业务逻辑等。大多数都坚持自己托管站点,并且具有功能他们不想让别人知道。

阅读this SO postthis 之后,我创建了一种MVC 多租户方法,它似乎可以处理大多数情况。

由于我无法附加到 Stack Overflow,我有 posted it here(无需全部阅读 - 主要是屏幕截图!)。

基础是有一个通用项目,被多个客户项目引用。然后,客户端项目可以具有与泛型类似的结构,并在我希望使用覆盖代码/控件/视图时优先。

因为它是整个事情的基础,所以我不想实现某些东西只是为了发现其他人都以更容易/更好的方式做到了。

我的问题有点模糊,但很简单 - 有没有更好的方法?

【问题讨论】:

  • 我建议将您的问题提炼成一个可以回答的问题。否则在code review发帖。
  • 谢谢@DavinTryon - 我不知道它存在。
  • @DavinTryon 代码审查是审查实际工作代码,而不是像这样的问题。如果您不知道它实际上是否合适,请不要建议人们使用其他网站。
  • 我试过这个,我从通用 /views 复制了 tmp/views/ 中的 web.config,我不必在数百个视图和部分视图中从 System.Web.Mvc.WebViewPage 继承。另外,我仍然可以照常在视图中使用@model。
  • 感谢您的提醒。那部分确实感觉有点笨重。

标签: c# asp.net-mvc-4 multi-tenant


【解决方案1】:

您的架构似乎是正确的。我只想说你必须非常小心通用的东西以及客户端的插件如何与核心应用程序对话。

我会在 CVS 中创建一个基础项目,并在客户端的特定分支中引用它(如在 git 子模块中),这样每个人都可以从核心中适应。

推出生产和 QA 版本也是必须谨慎处理的事情,因为您最终可能会得到不同的版本,具体取决于客户。

【讨论】:

    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 2015-01-05
    • 2011-05-25
    • 2023-01-28
    • 2014-06-19
    • 2013-12-26
    • 2015-07-02
    • 1970-01-01
    相关资源
    最近更新 更多