1

デバッグとリリースの2つのデフォルト構成を持つWCFアプリケーションがあります。また、テストとライブの2つの公開プロファイルを追加しました。私のコード全体で、次のようなコンストラクターを持つクラスを使用します。

public MyClass(string server)
{
    server = server.ToLower();
    switch (server)
    {
        case "live":
            LogonToLive();
            break;
        case "test":
            LogonToTest();
            break;
}

次に、アプリケーション全体で次のように使用します。

using(var ax = new MyClass("test"))
{
    // do stuff in my Test Environment
}

私がやりたいのは、web.configにいくつかの変数を設定することです。これらの変数は、設定MyClass("test")した構成/公開プロファイルに基づいて、正しいサーバーに自動的に置き換えられます。これは可能ですか?

4

2 に答える 2

1

条件付きコンパイルのトレース定数を使用してビルド構成を決定し、「Configuration」クラスのプロパティなどから目的の値を取得できます。

public static string Server {
  get {
#if DEBUG
    return ConfigurationManager.AppSettings[key0];
#else
    return ConfigurationManager.AppSettings[key1];
#endif
  }
}

出版プロフィールを決定することは、いわば別の魚のやかんだと思います。

于 2012-04-24T08:35:19.343 に答える
0

サーバー名にアプリの設定を1つ追加し、実行時にそれを読んでサーバーを見つけてみませんか。

于 2012-04-24T08:24:35.143 に答える