System.ServiceModel.Channels.MessageHeader.IsMessageVersionSupported C# (CSharp) Method

IsMessageVersionSupported() public method

public IsMessageVersionSupported ( System.ServiceModel.Channels.MessageVersion version ) : bool
version System.ServiceModel.Channels.MessageVersion
return bool
		public virtual bool IsMessageVersionSupported (MessageVersion version)
		{
			if (version.Envelope == EnvelopeVersion.Soap12)
				if (Actor == EnvelopeVersion.Soap11.NextDestinationActorValue)
					return false;

			if (version.Envelope == EnvelopeVersion.Soap11)
				if (Actor == EnvelopeVersion.Soap12.NextDestinationActorValue ||
				    Actor == EnvelopeVersion.Soap12UltimateReceiver)
					return false;

			// by default, it's always supported
			return true;
		}

Usage Example

 public void Insert(int headerIndex, MessageHeader header)
 {
     Contract.Requires(header != null);
     Contract.Requires(header.IsMessageVersionSupported(this.MessageVersion));
     Contract.Requires(0 <= headerIndex);
     Contract.Requires(headerIndex < this.Count);
 }