MVCを使用してasp.net MVCアプリケーションを作成しています。私は5人のユーザーがいますが、データベースは同じですが、dum001、dum002などのデータベースのコピーを作成しています。ですから、5つの接続文字列を設定することは可能ですか、それともweb.configでさらに設定できますか?ユーザーのログイン時にデータベースにリダイレクトするので、データベースを使用することができます。複数の接続文字列を操作するasp.net MVC
答えて
web.configに必要な数の接続文字列を作成できます。
データベースへのアクセスに使用しているデータアクセスレイヤーによって、ユーザーに基づいて接続文字列を切り替える方法が複数用意されている可能性があります。
オプション1:ベスト
代わりに、各ユーザーの接続文字列を格納するに、「マスター」データベースに一つだけの接続文字列を格納します。このマスターDBは、ユーザー、セッション、ユーザー固有の設定(たとえば、どのデータベースが自分のデータベースなのかなど)を知っていることを担当します。
ユーザーがログインすると、マスターDBをユーザー検索に使用し、そのユーザーのセッション変数としてMVCアプリへの接続文字列を提供することができます。この接続文字列データは、MVCアプリケーションで使用され、データアクセスレイヤー(DAL)を介してDB接続を動的に作成します。
マスターDBレベルのボトルネックを防ぐには、設定をキャッシュする必要があります。もちろん、これはすべてサーバー側になります。接続文字列をワイヤを介してクライアント側に公開しないでください。
これは設定可能で、管理しやすく、望ましいものです。
オプション2:ハードコードされたハック
PS。これは良い習慣ではなく、あなたを燃やすでしょう。
ユーザーが5人しかなく、ユーザーが5人しかなく、ユーザーごとに同じユーザー名を使用する場合は、ユーザー名を接続文字列のプレフィックスとしてハードコードできます。同様に:
指定されたユーザー名= ryancdotnet 指定されたユーザー名= armardip
<connectionStrings>
<add name="ryancdotnetConnString" connectionString="server=ServerName;database=dum001;uid=username;password=pwd;"/>
<add name="armardipConnString" connectionString="server=ServerName;database=dum002;uid=username;password=pwd;"/>
</connectionStrings>
は、その後、あなたはまだ、動的にログインしているユーザーに基づいて、DALの接続文字列をインスタンス化します
一般的な例
using System.Configuration
[...]
string connectionString = System.Configuration.ConfigurationManager.
ConnectionStrings[username + "ConnString"].ConnectionString;
。
EntityFrameworkの例
//where MyDbContext is derived from DbContext (EntityFramework)
public void InitializeDbContext(string curUsername)
{
myDbContext = new MyDbContext(curUsername + "ConnString");
}
これはあなたに役立ちますように!
ありがとう。本当に役に立ちました... –
- 1. ASP.NET MVC。オートファックと複数の接続文字列
- 2. ASP.NET MVC 2:接続文字列エラー?
- 3. Elmah - ASP.NET - >複数の接続文字列 - >コードにSQLエラーログの接続文字列を設定する
- 4. 接続文字列 - MVC
- 5. 接続文字列MVC 5
- 6. ASP.NET MVC(Entity Framework)の接続文字列を更新します。
- 7. ASP.NET接続文字列
- 8. ASP.NETコアロード接続文字列
- 9. 複数の接続文字列
- 10. 複数の接続パラメータを持つMySQLの接続文字列?
- 11. 複数の接続文字列とモデルをマージする
- 12. ASP.NET System.Data.EntityClient接続文字列ヘルプ
- 13. 複合文字列操作
- 14. Visual Studio 2012 ASP.NET MVC接続文字列Web.Config
- 15. ASP.Net Core:Macbookプロで接続文字列を作成する方法
- 16. SQLのC#ASP.NETの接続文字列
- 17. ASP.NET Web App - デバッガの接続文字列
- 18. asp.netコアライブラリプロジェクトの接続文字列
- 19. SQL Expressの接続文字列hell ASP.Net
- 20. マルチスレッドを使用して複数の接続文字列を接続する
- 21. Emacs:複数の操作で文字列を変換する
- 22. ASP.Net MVC3 SQL接続文字列
- 23. MySQL ASP.net接続文字列エラー
- 24. Asp.net MVC接続
- 25. ASP.NETの文字列リテラルコアMVCタグヘルパー引数
- 26. 空白のモバイルサービスにおける複数の接続文字列
- 27. MVC3チュートリアル - 接続文字列
- 28. ASP.NETアプリケーションでSQL Serverの接続文字列を変更する
- 29. ASP.NETウェブサイト管理ツールの接続文字列を変更する
- 30. NodeJS MySQL接続文字列
定義できる接続文字列の数に制限があると思われる理由がわかりません。限り、ユーザーごとに別のデータベースを使用する限り、それはあなた次第です。 –
しかし、データベース名 –
を使用してユーザーに接続文字列を指定する方法は、設定ファイル、データベースなどに格納するかどうかにかかわらず、完全にあなた次第です。複数のシングルテナントデータベースを使用する予定の場合は、それらをマップする正しい方法を見つける必要があります。 –