我有一个WCF应用程序,它有2个默认配置,Debug和Release。我还添加了两个发布配置文件,Test and Live。在我的代码中,我使用了一个具有类似构造函数的类:
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")
替换为正确的服务器。这可能吗?
答案 0 :(得分:1)
您可以使用conditional compiling的跟踪常量来确定构建配置,并从“Configuration”类中的属性中提取所需的值,或者其他内容:
public static string Server {
get {
#if DEBUG
return ConfigurationManager.AppSettings[key0];
#else
return ConfigurationManager.AppSettings[key1];
#endif
}
}
我认为确定出版资料是一个不同的鱼,可以这么说。
答案 1 :(得分:0)
为什么不为服务器名称添加一个应用程序设置,并在短暂时间读取它以找出服务器。