0

我希望有人能给我一些建议/帮助我指出正确的方向。我开发了一个应用程序。应用程序是用 c# 编写并使用 MVC 4。该应用程序具有多租户数据库。因此,客户 A 的信息在自己的数据库中,客户 B 无法访问。此外,会员资格存储在客户数据库中。所以A的用户在A的数据库中,B的用户在B的数据库中。

该应用程序有时会有试点。在这种情况下,我们有 2 个版本。例如:版本 1 包含客户 A 和 B 版本 2 包含客户 C

我想要的是我有一个条目,但页面是特定于版本的。

我的想法是创建一个代理或知道客户 A 和 B 运行版本 1 和客户 C 运行版本 2 的代理。因此,当客户 A 的用户想要登录时,他提供了他的公司编号、用户名和密码。代理检查客户 A 的数据库所在的位置,并检查用户名和密码是否有效。

我不想将用户发送到子域或其他东西。所以网址保持:http://www.domain.com。(可以包含类似 domain.com/controller/action 的操作,但不能包含类似http://customer-a.domain.com的操作)

我希望有人能给我一些建议。我尝试使用控制台应用程序和 HttpListner 但没有用。示例将不胜感激。

4

1 回答 1

0

就像他们说有九种剥猫皮的方法。我当然会利用实体框架和存储库设计模式来解决这个问题。

我会做以下事情,

  • 使用实体框架创建访问数据库所需的 2 个 .edmx 文件
  • 实现存储库设计模式。

例如,您将拥有一个 CustomerRepository,其中包含从正确数据库中检索适当数据的逻辑。

但是,如果没有深入了解应用程序业务规则,就很难为您提供 100% 满足您需求的解决方案,不幸的是,您必须自己解决这个问题。但就像你说的,你只是希望有人为你指明一个方向。

如果您不熟悉实体框架和存储库设计模式,这里有一些有用的链接可以用来阅读它,

于 2013-09-17T15:28:42.647 回答