以下课程:
public class MyClass
{
private WebServiceHost m_WebServiceHost;
}
我需要跟踪它初始化的uri。我已经实现了这个方法:
public void MyTrace()
{
Trace.TraceInformation("URI {0}",m_WebServiceHost.BaseAddresses);
}
但我明白了:
URI System.Collections.ObjectModel.ReadOnlyCollection`1[System.Uri]
有什么问题?
答案 0 :(得分:2)
嗯,WebServiceHost.BaseAddresses
是一个集合,而不是一个对象。所以使用.ToString()只会返回类名而不是值。你只需要先以某种方式枚举集合,例如foreach就可以了。每个基地址都是Uri
,因此我们可以使用AbsoluteUri
属性来获取字符串表示形式:
public void MyTrace()
{
string addresses = string.Empty;
foreach (var address in m_WebServiceHost.BaseAddresses)
addresses += address.AbsoluteUri;
Trace.TraceInformation("URI {0}", addresses);
}