title: MessageBodyMember or MessageHeader attribute to encrypt field during serialization
body: <p>I came across below question for the 70-513 WCF certification exam:</p>
  
  <blockquote>
    <p>You develop a Windows Communication Foundation (WCF) SOAP service that contains a
    class named <code>Order</code>. The <code>Order</code> class includes a field named <code>secret</code> that stores private data. The <code>Order</code> class includes the following code:</p>
    
    <p>The service has the following requirements:</p>
    
    <p>The <code>secret</code> field must be encrypted. All other fields in the <code>Order</code> class must serialize as plain text. You need to configure serialization for the <code>Order</code> class. What should you do?</p>
    
    <ul>
    <li>A. Add a MessageHeader attribute to the secret field and set the ProtectionLevel to Sign.
    Add a MessageBodyMember attribute to each of the other fields of the class.</li>
    <li>B. Add a MessageBodyMember attribute to the secret field and set the ProtectionLevel to
    Sign.
    Add a MessageBodyMember attribute to each of the other fields of the class.</li>
    <li>C. Add a MessageBodyMember attribute to the secret field and set the ProtectionLevel to
    EncryptAndSign.
    Add a MessageBodyMember attribute to each of the other fields of the class.</li>
    <li>D. Add a MessageHeader attribute to the secret field and set the ProtectionLevel to
    EncryptAndSign.
    Add a MessageBodyMember attribute to each of the other fields of the class.</li>
    </ul>
  </blockquote>
  
  <p>The answer should be C, but I found someone on the internet saying the answer should be D. Please help.</p>