| File: System\ServiceModel\Channels\DelegatingMessage.cs | Web Access |
| Project: src\src\System.ServiceModel.Primitives\src\System.ServiceModel.Primitives.csproj (System.ServiceModel.Primitives) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Xml; namespace System.ServiceModel.Channels { internal abstract class DelegatingMessage : Message { protected DelegatingMessage(Message innerMessage) { InnerMessage = innerMessage ?? throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(innerMessage)); } public override bool IsEmpty { get { return InnerMessage.IsEmpty; } } public override bool IsFault { get { return InnerMessage.IsFault; } } public override MessageHeaders Headers { get { return InnerMessage.Headers; } } public override MessageProperties Properties { get { return InnerMessage.Properties; } } public override MessageVersion Version { get { return InnerMessage.Version; } } protected Message InnerMessage { get; } protected override void OnClose() { base.OnClose(); InnerMessage.Close(); } protected override void OnWriteStartEnvelope(XmlDictionaryWriter writer) { InnerMessage.WriteStartEnvelope(writer); } protected override void OnWriteStartHeaders(XmlDictionaryWriter writer) { InnerMessage.WriteStartHeaders(writer); } protected override void OnWriteStartBody(XmlDictionaryWriter writer) { InnerMessage.WriteStartBody(writer); } protected override void OnWriteBodyContents(XmlDictionaryWriter writer) { InnerMessage.WriteBodyContents(writer); } protected override string OnGetBodyAttribute(string localName, string ns) { return InnerMessage.GetBodyAttribute(localName, ns); } protected override void OnBodyToString(XmlDictionaryWriter writer) { InnerMessage.BodyToString(writer); } } }