C# 具有多数据库设置的Web应用程序-ASP.NET MVC
我正在构建一个ASP.NET MVC应用程序,它需要为每个客户机(特别是分支)建立单独的数据库 在登录页面中,用户需要提供登录凭据和分支机构名称。提供的分支名称将决定是连接到数据库1还是数据库2 前C# 具有多数据库设置的Web应用程序-ASP.NET MVC,c#,sql,asp.net-mvc,C#,Sql,Asp.net Mvc,我正在构建一个ASP.NET MVC应用程序,它需要为每个客户机(特别是分支)建立单独的数据库 在登录页面中,用户需要提供登录凭据和分支机构名称。提供的分支名称将决定是连接到数据库1还是数据库2 前 分支1,4,5应连接到db1 分支2、3、6、7应连接到db2 分支8、9、10应连接到db3 我应该实现哪种最适合此场景的方法 以下是我的想法(注意:我需要用于检索某些数据的分支名称): 1.分离包含用户名、密码、分支、用户应连接的数据库名称的数据库,然后将分支和数据库名称存储在会话/cook
- 分支1,4,5应连接到db1
- 分支2、3、6、7应连接到db2
- 分支8、9、10应连接到db3
xml
文件中,检索它,然后将其保存在session/cookie上[同样,如何从单独项目的数据访问层访问session/cookie]
3.包含用户名、密码、分支、用户应连接的数据库名称的单独数据库,将分支和数据库名称存储在预先添加的AppSetting密钥中
<add key="Database" value="" /> <add key="Branch" value="" />
在web.config
中,然后使用ConfigurationManager
访问其值。这需要根据分支在运行时修改web.config
文件[这是一个好方法吗?]
如有任何建议和意见,我们将不胜感激。为用户帐户及其到数据库的映射建立一个中央/主数据库 选项1:如果您有大量的分支机构/客户,并且您希望入职过程是无缝的,那么这是一个理想选择。在系统中添加新的分支/客户机时,还需要动态创建新数据库。那么只有这个解决方案才值得。如果您认为这太多,请使用选项2 选项3:易于设置,但您需要小心地跨环境管理web.config文件的部署
顺便说一句,您可以从单独的项目访问会话。这可能取决于列表更新的方式和频率,以及对新连接的响应程度。如果经常发生这种情况,则需要一个中央数据库,带有某种编程接口。如果不是很多,那么服务器上的配置文件可能就足够了。同一服务器上的不同数据库或不同服务器上的不同数据库?同一服务器上的差异数据库。该列表可能每月更新一次或每2次。感谢您的输入。当您说“管理web.config的部署”时,在运行时修改web.config文件时是否会出现任何问题/冲突?如果您修改web.config,应用程序将重新启动。这就像重新启动应用程序池一样。