0

ASP アプリケーションが 1 つあり、それを 2 つ (またはそれ以上) の場所に使用したいのですが、それぞれに Database があります。ユーザーのログイン時に接続文字列を変更する方法はありますか? とにかく各ユーザーのデータベースを変更するには?

私は前にこの質問を見ました

単一コードの複数データベース 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 to 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 に答える