我有一个支持多家公司的应用程序。每个公司都有自己的数据库。所有公司数据库都具有相同的架构。唯一的区别是其中包含的实际数据。
有一个客户数据库,其中包含一个包含所有公司的父表和一个包含所有关联用户的子表。母公司表包含每个公司的记录。公司记录中的字段之一包含其各自数据库的连接字符串。
当用户登录时,应用程序会创建一个公司对象,其中包含到其数据库的连接字符串,并将其放入会话变量中。当每个页面加载时,都会触发一个方法,该方法循环遍历所有 SQLDatasource 控件并将连接字符串设置为会话变量中的那个。
有一个用于所有公司的 UI。
在我的 web.config 文件中,我有一个到我的开发数据库的通用连接字符串(也具有相同的模式),我在开发期间使用它来配置我的 SQLDatasources,目的是在运行时数据源将指向客户的数据库连接.
每次发生页面加载并且连接字符串设置为不同于 web.config 文件中的内容时,它都会强制重新绑定网格并且视图状态会丢失。
我只是不正确地动态设置连接字符串,还是什么?
谢谢,马蒂