WCF中“ IsWrapped”属性的用途是什么。在哪种情况下我应该使用此属性,为什么?
最佳答案
Unwrapped Messages (MSDN):
默认情况下,邮件正文的格式设置为,用于包装服务操作的参数。
和
MessageContractAttribute.IsWrapped Property (MSDN):
将IsWrapped的值设置为false可以禁止将消息正文序列化到的wrapper元素。
因此,请考虑以下(修剪过的)消息:
<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>
诸如此类的属性旨在实现互操作性,例如,在编写客户端以使用不希望消息被包装的服务时。