我有一个ASP应用程序,我想在2(或更多)位置使用它,并且每个都有自己的数据库,现在是否有办法在用户登录时更改连接字符串? 或者无论如何为每个用户更改数据库?
我之前看过这个问题
How to setup single-code multiple-database ASP.NET SaaS application
但我无法弄清楚它是如何运作的!
编辑:
我找到了解决这个问题的方法 我在每个用户的数据库中保存了我的连接字符串,在识别后我会找出该用户的连接字符串,然后将其分配给我的数据源等...
已保存的连接字符串
"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 to SQL
DataClasses1DataContext m = new DataClasses1DataContext("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=.");
我希望对有这个问题的其他人有用
答案 0 :(得分:1)
在多租户SaaS解决方案中,根据用户租赁或帐户,拥有多个连接字符串是很常见的。
您只需要停止在web.config
文件中存储连接字符串,并根据您的条件(记录的用户,帐户,租期......)在运行时开始动态构建它们,最好是通过帮助程序类。