我的应用配置目前有这行代码。
<add baseAddress = "http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
但是我要求localhost
相当于System.Net.Dns.GetHostName()
。关于如何做到这一点的任何想法?
答案 0 :(得分:3)
我可以建议使用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());
}
}
}