我正在使用 MVC 4/C# 4 构建托管业务 SaaS 应用程序。我需要尽可能多地利用基本代码层的客户特定资源文件、css、视图和业务逻辑。这些(资源文件、css、视图、逻辑)中的每一个都需要如何构建来实现这一点?
我意识到这可能是一个非常深入的答案......但我不知道从哪里开始或搜索什么来开始研究这个。任何指针,以便我可以进一步研究?
以下是我对每个方面的初步想法:
意见
使用基于用户的 Switch 语句返回不同的视图。
CSS
在视图中使用 switch 语句来指定要加载的 css
资源文件
我现在没有使用它们,但需要实施,所以不确定它们是如何工作的。从我所见,您可以在类 MetaData 级别指定资源文件,这是编译时的事情。不确定如何在用户级别更改此设置。我可以在这里看到,如何根据文化来改变它......但不是通过用户个人资料属性(比如他们所属的公司)。
这看起来像一个开始......将审查更多。
商业逻辑
在我的服务层,我可以实现 switch 语句......但这似乎很混乱。有没有办法创建一个覆盖基类但仅适用于某些用户的新类?或者将它们放在一个单独的项目/dll中,并且只为某个用户使用该dll引用?
我曾经在 IBM iSeries 上工作,他们有一个库路径的概念,可以由用户在登录时设置。您将拥有一个覆盖基本代码路径库的自定义代码路径。MVC中有类似的东西吗?
数据本地化 在我的数据库中,我有一个用于 Orders 的表和另一个用于 OrderStatuses 的表,它们可以显示在下拉列表中供用户选择状态。这些状态可能是“打开”和“关闭”。但是另一位客户可能想要西班牙语的...您将如何处理?
我还缺少任何其他注意事项吗?