Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Routing / System / ServiceModel / Routing / DelegatingHeader.cs / 1305376 / DelegatingHeader.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Routing { using System; using System.ServiceModel; using System.ServiceModel.Channels; using System.Xml; using System.Runtime; class DelegatingHeader : MessageHeader { int index; MessageHeaderInfo info; MessageHeaders originalHeaders; public DelegatingHeader(MessageHeaderInfo info, MessageHeaders originalHeaders) { Fx.Assert(info != null, "info is required"); Fx.Assert(originalHeaders != null, "originalHeaders is required"); this.info = info; this.originalHeaders = originalHeaders; this.index = -1; } void EnsureIndex() { if (this.index < 0) { this.index = this.originalHeaders.FindHeader(this.info.Name, this.info.Namespace); if (this.index < 0) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.SourceHeaderNotFound(this.info.Name, this.info.Namespace))); } } } protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion) { this.EnsureIndex(); this.originalHeaders.WriteHeaderContents(index, writer); this.index = -1; } protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion) { this.EnsureIndex(); this.originalHeaders.WriteStartHeader(this.index, writer); } public override string Name { get { return this.info.Name; } } public override string Namespace { get { return this.info.Namespace; } } public override bool MustUnderstand { get { return this.info.MustUnderstand; } } public override string Actor { get { return this.info.Actor; } } public override bool IsReferenceParameter { get { return this.info.IsReferenceParameter; } } public override bool Relay { get { return base.Relay; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Model3D.cs
- WinFormsUtils.cs
- ClonableStack.cs
- GeometryHitTestParameters.cs
- ObjectAnimationUsingKeyFrames.cs
- ScrollData.cs
- SystemIPInterfaceStatistics.cs
- CompressEmulationStream.cs
- RC2.cs
- TableCellsCollectionEditor.cs
- ContextMenuStripGroupCollection.cs
- EntityCommand.cs
- Panel.cs
- DataComponentMethodGenerator.cs
- RuleInfoComparer.cs
- MatrixConverter.cs
- FragmentNavigationEventArgs.cs
- UrlMapping.cs
- WebPartVerbsEventArgs.cs
- DependencyPropertyDescriptor.cs
- InternalControlCollection.cs
- Icon.cs
- DataSourceView.cs
- CalendarButton.cs
- ImageSource.cs
- PartialCachingControl.cs
- XmlParserContext.cs
- TaskDesigner.cs
- StorageAssociationTypeMapping.cs
- HttpValueCollection.cs
- DataControlCommands.cs
- FixedTextView.cs
- MethodBuilderInstantiation.cs
- WebPartMinimizeVerb.cs
- UInt64.cs
- StreamReader.cs
- CommandField.cs
- AssemblyInfo.cs
- ParagraphVisual.cs
- CheckBoxAutomationPeer.cs
- WindowCollection.cs
- TdsParserHelperClasses.cs
- ValidationErrorEventArgs.cs
- UpdateExpressionVisitor.cs
- AddingNewEventArgs.cs
- TouchesCapturedWithinProperty.cs
- Helper.cs
- FormatException.cs
- _LoggingObject.cs
- MultipartContentParser.cs
- SafeMarshalContext.cs
- DrawListViewSubItemEventArgs.cs
- LineGeometry.cs
- Stacktrace.cs
- CTreeGenerator.cs
- WaitForChangedResult.cs
- UrlAuthFailedErrorFormatter.cs
- CodeCatchClause.cs
- WinFormsComponentEditor.cs
- WebPartConnectionsDisconnectVerb.cs
- DataFieldCollectionEditor.cs
- UnauthorizedAccessException.cs
- DependencyObject.cs
- BrushMappingModeValidation.cs
- FlowLayoutSettings.cs
- MimeWriter.cs
- SecurityContext.cs
- GridViewCancelEditEventArgs.cs
- CombinedGeometry.cs
- ScriptingSectionGroup.cs
- TrackBar.cs
- Utilities.cs
- DoubleUtil.cs
- DbDataReader.cs
- PrimaryKeyTypeConverter.cs
- SerializerWriterEventHandlers.cs
- Positioning.cs
- AnnotationResourceChangedEventArgs.cs
- GridViewRowPresenterBase.cs
- DataGridViewSelectedColumnCollection.cs
- LocationSectionRecord.cs
- PackageRelationshipSelector.cs
- RadioButtonRenderer.cs
- SecurityState.cs
- HorizontalAlignConverter.cs
- Privilege.cs
- Automation.cs
- InputScopeManager.cs
- GlobalItem.cs
- AtomMaterializer.cs
- CodeTypeParameter.cs
- TabletDeviceInfo.cs
- ListControlDataBindingHandler.cs
- ProtocolException.cs
- PrimitiveXmlSerializers.cs
- XmlSchemaAny.cs
- TriggerBase.cs
- SkewTransform.cs
- MsmqAppDomainProtocolHandler.cs
- ipaddressinformationcollection.cs