Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / AddressHeaderCollectionElement.cs / 1 / AddressHeaderCollectionElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.Configuration; using System.ServiceModel.Channels; using System.Xml; using System.Security; public sealed partial class AddressHeaderCollectionElement : ConfigurationElement { public AddressHeaderCollectionElement() { } [ConfigurationProperty(ConfigurationStrings.Headers, DefaultValue = null)] public AddressHeaderCollection Headers { get { AddressHeaderCollection retVal = (AddressHeaderCollection)base[ConfigurationStrings.Headers]; if (null == retVal) { retVal = AddressHeaderCollection.EmptyHeaderCollection; } return retVal; } set { if (value == null) { value = AddressHeaderCollection.EmptyHeaderCollection; } base[ConfigurationStrings.Headers] = value; } } ////// Critical - uses the critical helper SetIsPresent /// Safe - controls how/when SetIsPresent is used, not arbitrarily callable from PT (method is protected and class is sealed) /// [SecurityCritical, SecurityTreatAsSafe] protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey) { SetIsPresent(); DeserializeElementCore(reader); } private void DeserializeElementCore(XmlReader reader) { this.Headers = AddressHeaderCollection.ReadServiceParameters(XmlDictionaryReader.CreateDictionaryReader(reader)); } ////// Critical - calls ConfigurationHelpers.SetIsPresent which elevates in order to set a property /// Safe - only passes 'this', does not let caller influence parameter /// [SecurityCritical] void SetIsPresent() { ConfigurationHelpers.SetIsPresent(this); } protected override bool SerializeToXmlElement(XmlWriter writer, String elementName) { bool dataToWrite = this.Headers.Count != 0; if (dataToWrite && writer != null) { writer.WriteStartElement(elementName); this.Headers.WriteContentsTo(XmlDictionaryWriter.CreateDictionaryWriter(writer)); writer.WriteEndElement(); } return dataToWrite; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- basecomparevalidator.cs
- NameValueCollection.cs
- GridItemPattern.cs
- TextDecorationCollection.cs
- MoveSizeWinEventHandler.cs
- PropertyGroupDescription.cs
- StyleCollectionEditor.cs
- RowCache.cs
- BindingCompleteEventArgs.cs
- CodeStatement.cs
- ClientSettings.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- CleanUpVirtualizedItemEventArgs.cs
- ListDictionary.cs
- EntityConnectionStringBuilder.cs
- TextInfo.cs
- DebugView.cs
- DataList.cs
- ValueProviderWrapper.cs
- ConsoleCancelEventArgs.cs
- ToolStripOverflowButton.cs
- XPathItem.cs
- Errors.cs
- SafeCertificateStore.cs
- DataBinder.cs
- Resources.Designer.cs
- Win32NamedPipes.cs
- updateconfighost.cs
- WebPartConnectionsConnectVerb.cs
- Glyph.cs
- WebPartMenu.cs
- WebResponse.cs
- dsa.cs
- SslStream.cs
- GenericWebPart.cs
- NotificationContext.cs
- AutomationAttributeInfo.cs
- WebPartMenuStyle.cs
- EdmProviderManifest.cs
- HtmlTableCellCollection.cs
- XmlComplianceUtil.cs
- MergablePropertyAttribute.cs
- PersonalizationStateInfo.cs
- WebPartsPersonalization.cs
- LayoutManager.cs
- TextTreeExtractElementUndoUnit.cs
- HMACSHA384.cs
- AccessDataSourceWizardForm.cs
- IisTraceWebEventProvider.cs
- GroupQuery.cs
- StylusPointPropertyInfoDefaults.cs
- ThrowHelper.cs
- CompiledRegexRunner.cs
- TimeManager.cs
- PropertyTabAttribute.cs
- DirectoryNotFoundException.cs
- DataGridToolTip.cs
- DefaultTextStore.cs
- ChildDocumentBlock.cs
- FlatButtonAppearance.cs
- FlatButtonAppearance.cs
- DefaultConfirmation.cs
- _ScatterGatherBuffers.cs
- SetterBaseCollection.cs
- ReaderWriterLockWrapper.cs
- NonParentingControl.cs
- NavigationService.cs
- ButtonFlatAdapter.cs
- DirectoryNotFoundException.cs
- TypeSystem.cs
- SystemResourceKey.cs
- DataGridViewRowConverter.cs
- RewritingPass.cs
- InputDevice.cs
- MailDefinition.cs
- MultiplexingDispatchMessageFormatter.cs
- GlobalizationSection.cs
- BitmapEffectCollection.cs
- InheritablePropertyChangeInfo.cs
- XmlSchemaAll.cs
- ViewStateAttachedPropertyFeature.cs
- CodeBlockBuilder.cs
- PrimitiveXmlSerializers.cs
- MemberCollection.cs
- X509Utils.cs
- CodeLinePragma.cs
- SerialErrors.cs
- AlternateViewCollection.cs
- ServiceMetadataBehavior.cs
- Vector3DAnimationBase.cs
- LOSFormatter.cs
- DelegateArgumentValue.cs
- TheQuery.cs
- DataGridViewRowCollection.cs
- dsa.cs
- XamlFigureLengthSerializer.cs
- ConsoleCancelEventArgs.cs
- Button.cs
- Marshal.cs
- ParentQuery.cs