0

我有一个 ASP 应用程序,我想在 2 个(或更多)地方使用它,每个地方都有自己的数据库,现在有没有办法在用户登录时更改连接字符串?或者无论如何要为每个用户更改数据库?

我以前看过这个问题

如何设置单代码多数据库 ASP.NET SaaS 应用程序

但我不知道它是如何工作的!

请帮我

编辑:

我找到了解决此问题的方法,我将每个用户的连接字符串保存在数据库中,识别后我将找出该用户的连接字符串,然后将其分配给我的数据源等...

保存的连接字符串

"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=."

ASP

 <asp:SqlDataSource ID="DataSource" runat="server" ProviderName="System.Data.SqlClient </asp:SqlDataSource>

C#

DataSource.ConnectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=.";

对于 Linq 到 SQL

DataClasses1DataContext m = new DataClasses1DataContext("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=.");

我希望对其他有这个问题的人有用

4

1 回答 1

1

在多租户 SaaS 解决方案中,根据用户租户或帐户拥有多个连接字符串是很常见的。

您只需要停止将连接字符串存储在web.config文件中并在运行时开始动态构建它们,最好通过帮助程序类,根据您的标准(登录的用户、帐户、租户......)。

于 2014-10-26T17:35:41.303 回答