2011-11-15 12 views
0

私は現在、ASPの.Net MVC 3アプリケーションを使用して、データベース内の特定のメタデータテーブルのセットに対していくつかのデータベース操作を行っています。私は基本的に、アプリケーションからの挿入、更新の削除などを行っています。ただし、これらのメタデータ・テーブルを異なるデータベース(および可能性の高いサーバー)に移行することで、クライアント間で同じメソドロジを使用できるようにします。C#アプリケーションでのサーバー+データベース接続の切り替え?

今、Linq2Sqlを使用して、これらの特定のメタデータテーブルのORMを生成しています。その目的は、同じアプリケーションを使用してサーバーとデータベース間でデータを操作することです。このためのベストプラクティス/アプローチは何ですか?

私が考えた最も簡単な解決策は、接続文字列を操作してDataContextに渡すためにユーザー入力(サーバー+データベース名+ユーザーID +パスワード)を使用できるDataContextのコンストラクタです。フレームワークはすべてのデータベースとサーバーで同じである必要があるため、理論的にはうまくいくはずです。しかし、私は変更された接続文字列を維持するための最良の場所(セッション?クッキー?)ではありません。

.NETアプリケーションでこの種のサーバー/データベースの切り替えを回避するにはどうすればよいですか?

答えて

1

コンテキストのコンストラクタで接続を渡すことで、正しいパスを使用しています。接続文字列を維持するためには、さまざまなサイトの他のサイト情報をどのように管理しているかによって異なると思われます。そのデータベースを中央データベースで管理している場合は、サイト固有の値をその中央データベースに保存し、ユーザーがサイトを訪れている間は、それらのサイト設定に使用しているのと同じ永続性を使用します。サーバ固有の情報をクライアントに渡さないようにしてください(したがって、クッキーは推奨される方法ではありません)。

+0

これは内部のサイトになるので、セキュリティは大きな問題になることはありません。私は、db切り替えを行うより良い方法がないことを確認したかったのです。 – Rondel

関連する問題