我想知道显示所有MessageHeaders服务器端的最佳方法是什么。实际上我知道的唯一方法如下:
OperationContext.Current.IncomingMessageHeaders.GetHeader<T>(Name, Namespace)
该方法仅适用于已知的MessageHeader,但我想在循环中显示它们的值。
谢谢
答案 0 :(得分:4)
标题是可循环的:
for (int i = 0; i < OperationContext.Current.IncomingMessageHeaders.Count; ++i)
{
MessageHeaderInfo h = OperationContext.Current.IncomingMessageHeaders[i];
// for any reference parameters with the correct name & namespace
if (h.IsReferenceParameter &&
h.Name == IDName &&
h.Namespace == IDNamespace)
{
// read the value of that header
XmlReader xr = OperationContext.Current.IncomingMessageHeaders.GetReaderAtHeader(i);
id = xr.ReadElementContentAsString();
}
}
找到here