首页 > 解决方案 > 具有多个数据库设置的 Web 应用程序 - ASP.NET MVC

问题描述

我正在构建一个 ASP.NET MVC 应用程序,该应用程序需要为每个客户端 [特别是分支] 使用单独的数据库。

在登录页面中,用户需要提供登录凭据和分支名称。提供的分支名称将决定是连接到数据库 1 还是数据库 2。

前任。

我应该实施哪种方法最适合这种情况?

这是我的想法(注意:我需要分支名称来检索某些数据):

1.包含用户名、密码、分支、用户应该连接的数据库名称的单独数据库,然后将分支和数据库名称存储在会话/cookie中[但是我如何从数据访问层访问会话/cookie一个单独的项目]

2.将带有分支子列表的数据库列表存储在一个xml文件中,检索它,然后将其保存在会话/cookie中[再次,我如何从位于单独项目上的数据访问层访问会话/cookie]

3.包含用户名、密码、分支、用户应连接的数据库名称的单独数据库,将分支和数据库名称存储在预先添加的 AppSetting 键中

<add key="Database" value="" /> <add key="Branch" value="" />

然后web.config使用ConfigurationManager. 这将需要web.config根据分支在运行时修改文件[这甚至是一个好方法吗?]

任何建议和意见将不胜感激。

标签: c#sqlasp.net-mvc

解决方案


为用户帐户及其与数据库的映射建立一个中央/主数据库。

选项 1:如果您有大量分支机构/客户并且希望入职流程是一个无缝流程,则非常理想。当系统中添加新的分支/客户端时,您还需要动态创建一个新数据库。那么只有这个解决方案是值得的。如果您认为这太多,请使用选项 2。

选项 3:易于设置,但您需要在各个环境中仔细管理 web.config 文件的部署。

顺便说一句,您可以从单独的项目访问会话。


推荐阅读