1

我有一个 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

您可以使用条件编译的跟踪常量来确定构建配置,并从“配置”类中的属性中提取所需的值,或者其他东西:

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

我认为确定出版概况是另一回事,可以这么说。

于 2012-04-24T08:35:19.343 回答
0

为什么不为服务器名称添加一个应用程序设置并在运行时读取它以找出服务器。

于 2012-04-24T08:24:35.143 回答