在 WCF 中设置环境变量

本文关键字:环境变量 设置 WCF | 更新日期: 2023-09-27 18:32:00

我有一个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")替换为正确的服务器。这可能吗?

在 WCF 中设置环境变量

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

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

我认为确定发布配置文件是另一壶鱼,可以这么说。

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