MessageContractMemberAttribute Class

Definition

Declares the base members for MessageBodyMemberAttribute and MessageHeaderAttribute.

public ref class MessageContractMemberAttribute abstract : Attribute
public abstract class MessageContractMemberAttribute : Attribute
type MessageContractMemberAttribute = class
    inherit Attribute
Public MustInherit Class MessageContractMemberAttribute
Inherits Attribute
Inheritance
MessageContractMemberAttribute
Derived

Examples

The following code examples demonstrate a custom message contract that uses the MessageContractAttribute, MessageHeaderAttribute, and MessageBodyMemberAttribute attributes (which all inherit from MessageContractMemberAttribute) to create custom typed messages to use in operations. In this case, there are three members that are serialized into the body element of the SOAP message: sourceAccount, targetAccount, and the amount value, (which is serialized into an element with the name transactionAmount). In addition, the IsAudited SOAP header element resides in the http://schemas.contosobank.com/auditing/2005 namespace, and sourceAccount is encrypted and digitally signed.

Note

The Operation and Account types must have a data contract.

[MessageContract]  
public class BankingTransaction  
{  
  [MessageHeader]   
  public Operation operation;  
  [MessageHeader(Namespace="http://schemas.contosobank.com/auditing/2005")]   
  public bool IsAudited;  
  [MessageBody(ProtectionLevel=ProtectionLevel.EncryptAndSign)]   
  public Account sourceAccount;  
  [MessageBody]   
  public Account targetAccount;  
  [MessageBody(Name="transactionAmount")]   
  public int amount;  

Remarks

This class contains properties common to all parts of a SOAP message. For example, all parts have a name and a namespace, and potentially a level of security applied.

For information on controlling the serialization of the contents of a SOAP body without modifying the default SOAP envelope itself, see System.Runtime.Serialization.DataContractAttribute, Specifying Data Transfer in Service Contracts, and Using Data Contracts.

For more information about creating message contracts, see Using Message Contracts.

Constructors

MessageContractMemberAttribute()

Initializes a new instance of the MessageContractMemberAttribute class.

Properties

HasProtectionLevel

When overridden in a derived class, gets a value that indicates whether the member has a protection level assigned.

Name

Specifies the name of the element that corresponds to this member.

Namespace

Specifies the namespace of the element that corresponds to this member.

ProtectionLevel

Specifies whether the member is to be transmitted as-is, signed, or signed and encrypted.

TypeId

When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode()

Returns the hash code for this instance.

(Inherited from Attribute)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to