WebServiceHost BaseAddresses

时间:2014-05-14 08:38:50

标签: c# c#-4.0 webservicehost

以下课程:

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]

有什么问题?

1 个答案:

答案 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);
}