c# - App.config 需要动态值

标签 c# .net wcf

我的应用程序配置当前有这行代码。

<add baseAddress = "http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />

但是我要求它具有 localhost 相当于 System.Net.Dns.GetHostName() 的位置。关于如何做到这一点有什么想法吗?

最佳答案

我建议使用string.Format:

<add baseAddressFormat = "http://{0}:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />

然后在代码中:

var baseAddress = string.Format(ConfigurationManager.AppSettings["baseAddressFormat "], System.Net.Dns.GetHostName());

或者您可以将此 string.Format 调用隐藏在全局应用配置类属性后面。它可能是这样的:

public class MyConfig 
{
    public string BaseAddress 
    { 
        get 
        {
            return string.Format(ConfigurationManager.AppSettings["baseAddressFormat "], System.Net.Dns.GetHostName());
        }
    }
}

关于c# - App.config 需要动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26218143/

相关文章:

c# - 如何在特定位置覆盖 WPF 控件

c# - 如何在没有时间的情况下获取当前日期?

.net - 无法加载引用库 - 该进程无法访问该文件,因为该文件正在被另一个进程使用

c# - WCF——解决方案架构

.net - OracleConnections 会超时吗?如果不是,为什么我的 Oracle session (在 v$session 中)消失了?

c# - 等于 System.Collections.Generic.List<T>... 的方法?

c# - 将异步任务响应转换为字符串

c# - 添加控件以从ViewModel查看

.net - 调试器可视化工具不工作?我是否错误地注册了它?

c# - 如何阻止 JIT 调试器介入崩溃的 wcf 服务?