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
- Win32.cs
- UInt32.cs
- Expander.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- DisplayInformation.cs
- NodeLabelEditEvent.cs
- ContentPresenter.cs
- BlockUIContainer.cs
- DataGridViewCellStyleEditor.cs
- EventSetterHandlerConverter.cs
- ObjectQuery_EntitySqlExtensions.cs
- HandleCollector.cs
- SignedPkcs7.cs
- Trace.cs
- TextBox.cs
- BitmapImage.cs
- FileClassifier.cs
- InstanceNameConverter.cs
- EraserBehavior.cs
- FigureParaClient.cs
- UIElementParaClient.cs
- ActivityDesignerAccessibleObject.cs
- contentDescriptor.cs
- FlowLayoutPanel.cs
- FixedSOMLineCollection.cs
- CorePropertiesFilter.cs
- EpmContentSerializerBase.cs
- ListSortDescription.cs
- MemberListBinding.cs
- Attributes.cs
- TraceUtility.cs
- ConfigurationCollectionAttribute.cs
- StateChangeEvent.cs
- XmlQueryRuntime.cs
- SubqueryTrackingVisitor.cs
- CqlParser.cs
- XmlElementElement.cs
- ActivityExecutionContextCollection.cs
- DataGridViewCheckBoxCell.cs
- OracleBoolean.cs
- XmlDocument.cs
- XmlSchemaSimpleTypeRestriction.cs
- Timeline.cs
- LineVisual.cs
- TaiwanCalendar.cs
- LookupBindingPropertiesAttribute.cs
- OdbcError.cs
- ErrorRuntimeConfig.cs
- SHA256.cs
- SyndicationFeedFormatter.cs
- SafeReversePInvokeHandle.cs
- OrCondition.cs
- ScriptModule.cs
- KnownIds.cs
- CLRBindingWorker.cs
- CustomCategoryAttribute.cs
- Win32SafeHandles.cs
- _UriSyntax.cs
- WebServiceAttribute.cs
- OletxVolatileEnlistment.cs
- XmlResolver.cs
- X509ChainPolicy.cs
- DataGridViewSortCompareEventArgs.cs
- ImageAttributes.cs
- FixedSchema.cs
- HttpUnhandledOperationInvoker.cs
- LinqDataSourceValidationException.cs
- WindowHideOrCloseTracker.cs
- PropertyDescriptor.cs
- TextServicesDisplayAttribute.cs
- DataBindingList.cs
- ToolStripSeparator.cs
- ClientConfigurationHost.cs
- MatrixValueSerializer.cs
- IResourceProvider.cs
- StreamingContext.cs
- DynamicMethod.cs
- UserPreferenceChangedEventArgs.cs
- GraphicsContext.cs
- BinaryConverter.cs
- DataExpression.cs
- DataTableCollection.cs
- XamlTypeMapper.cs
- PropertyInformationCollection.cs
- FloaterBaseParaClient.cs
- MeasureItemEvent.cs
- GroupBoxRenderer.cs
- RelatedView.cs
- BooleanSwitch.cs
- _StreamFramer.cs
- CryptoKeySecurity.cs
- ServiceRoute.cs
- PagedDataSource.cs
- MaskDescriptors.cs
- RegisteredExpandoAttribute.cs
- WebPartEditorApplyVerb.cs
- X509LogoTypeExtension.cs
- TreeNodeConverter.cs
- HttpSysSettings.cs
- TypeInitializationException.cs