2011-09-09 26 views
0

2つの接続文字列を使用するvb.netプログラムがある状況があります。VB.Net外部ファイルから2つの接続文字列を読み取る

このプログラムは、複数のドメイン上の複数のWebサーバーで使用され、いずれかの違いは2つの接続文字列だけです。

実際の.vbコードとは別のファイルからこれらの接続文字列を読み取る最良の解決策は何でしょうか?

理想的には、.vbと接続文字列ファイルを任意の数のasp.net Webサイト上の独自のフォルダにドロップし、何も更新しないようにしたいと考えています(たとえば、web.configなどの接続を追加する)接続文字列を含む外部ファイルよりも、XMLのようなもので十分でしょうか?

可能であれば、コード例を教えてください。

答えて

1

私は両方を同じweb.configに入れます。それらに2つの異なる名前を付け、あなたがどのサーバーに属しているかに依存します。 Request.ServerVariables( "SERVER_NAME") -OR- Request.ServerVariables( "LOCAL_ADDR") 予想されるリターンに応じて、webconfigurationmanagerを調整して2つのconnectionStringsプロパティのいずれかを読み取ることができます。あなたの最善の策は、基本変数からセッション変数を設定することです。セッションにデータが入力されたかどうかを調べるために条件を設定し、アプリケーション全体で変数を読み取ることができます。

2つの異なる.configファイルを使用する場合は、使用しているサーバーに応じて常に使用したいアプリケーション全体をコーディングしなければならない問題が発生します。
web.configファイルを別のweb.configファイルに含める場合、同じweb.configファイル内に同じ2つの異なるconnectionStringを追加することと同じです。

1

組み込みの.configサポートを使用してください。

app.configファイルをプロジェクトに追加する場合は、ConfigurationManager.ConnectionStringsプロパティを使用してアクセスできるconnectionStringsセクションを追加できます。

ホイールを改造しないでください。

+0

これらの他のファイルにはすでにapp.configファイルがあり、私はそれらを削除するサイトとは何も編集したくありません。私自身のフォルダ内に別の.configファイルを置くことはできますか? – TGuimond

+0

@TGuimond - 別のファイルを持つことはできますが、既存の '.config'ファイルを変更することはできません。アプリケーションに変更を加えることもできます。私はこれが何であるかのようにあなたがなぜconfigファイルを変更するのに抵抗するのかわかりません。 – Oded

+0

私はあなたが何を意味するかを理解するが、私は直接これらのアプリケーションenvinronmentsのそれぞれへのアクセスを持っていない、それはこれらの組織のすべてが非常にセキュリティ意識のであり、外部の開発者を許可していない私は、それぞれ別の組織のためにコードを送信する必要が別人でありますWebアプリケーション内で何かを編集することができます。 .configファイルなどの編集を依頼するのではなく、アプリケーションにドロップするように指示するだけで、フォルダを解凍するように指示するのは簡単ではありません。 – TGuimond

関連する問題