WCF中“IsWrapped”属性的用途是什么。我应该在哪种情况下使用这个属性?为什么?
答案 0 :(得分:6)
默认情况下,对邮件正文进行格式化,以便包装服务操作的参数。
和
MessageContractAttribute.IsWrapped Property (MSDN):
将IsWrapped的值设置为false以禁止将消息体序列化到的包装器元素。
所以,考虑这个(修剪过的)消息:
<s:Envelope>
<s:Body>
<Add>
<n1>100</n1>
<n2>15.99</n2>
</Add>
</s:Body>
</s:Envelope>
当您将IsWrapped
设置为false
时,邮件正文将不会包含在具有操作名称的元素中(在这种情况下为Add
):
<s:Envelope>
<s:Body>
<n1>100</n1>
<n2>15.99</n2>
</s:Body>
</s:Envelope>
这些属性是为了实现互操作性,例如在编写客户端以使用没有期望消息被包装的服务时。