-1

現在、データベース関連のすべての操作に Microsoft データ アプリケーション ブロックを使用してアプリケーションを構築しています。

以下に示すように、web.configファイルにデータ構成の構成設定があります。

Web.config

<storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="dataConfiguration.config"/>
    <dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
      < include Types/>
    </data Transformer >
  </configuration Section >

コード

db = DatabaseFactory.CreateDatabase(databaseInstance);                
db.ExecuteNonQuery(CommandType.Text, sqlQuery);                

データベース、クエリなどに正常に接続できます。

ただし、サーバーごとに異なる構成ファイルがあります。

コードでパス属性を渡し、web.config でハードコーディングする代わりに、その特定の構成ファイルをロードすることで、適切なデータベース インスタンスと対話できる方法はありますか??

4

1 に答える 1

0

こんにちは、環境変数を使用して適切な構成をロードできます

1 マシン環境に環境変数を作成する

環境はさまざまな値を持つことができます:ステージング、本番など

2 このコードを使用して変数を取得します

var variable = System.Environment.GetEnvironmentVariable("YourNameVariable")
if(variable == "STG") //Staging
{
   //Load your string connection of staging
}
else if(variable == "PRD") //Production
{
   //Load your string connection of production
}

3 調整した環境変数を使用して、構成とロード セクションのターゲットにファイルの differents セクションを作成します。

于 2012-08-06T13:10:51.653 に答える