我的应用程序配置当前有这行代码。
<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/