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
- HyperlinkAutomationPeer.cs
- BooleanAnimationBase.cs
- Funcletizer.cs
- FtpCachePolicyElement.cs
- WebScriptServiceHost.cs
- InternalPermissions.cs
- SEHException.cs
- WebBrowserNavigatedEventHandler.cs
- FormViewUpdateEventArgs.cs
- OrderedHashRepartitionStream.cs
- SystemException.cs
- MaskedTextProvider.cs
- PageThemeBuildProvider.cs
- PropertyCollection.cs
- CalendarDateRange.cs
- XmlSchemaComplexContent.cs
- SqlException.cs
- ExpressionNode.cs
- DecimalConverter.cs
- WindowInteractionStateTracker.cs
- ExecutedRoutedEventArgs.cs
- _TransmitFileOverlappedAsyncResult.cs
- IntegrationExceptionEventArgs.cs
- Lease.cs
- Verify.cs
- ReturnType.cs
- PlainXmlWriter.cs
- NonBatchDirectoryCompiler.cs
- BoundColumn.cs
- SqlLiftIndependentRowExpressions.cs
- RegisteredExpandoAttribute.cs
- BaseTreeIterator.cs
- CompilationLock.cs
- DataGridCommandEventArgs.cs
- MergeLocalizationDirectives.cs
- WebPartCatalogAddVerb.cs
- AudioFormatConverter.cs
- PeerResolver.cs
- RightsManagementEncryptionTransform.cs
- StylusPlugInCollection.cs
- Highlights.cs
- DbQueryCommandTree.cs
- IconHelper.cs
- ConfigXmlWhitespace.cs
- OptimizerPatterns.cs
- DetailsViewInsertedEventArgs.cs
- DataKeyCollection.cs
- NamespaceList.cs
- Debug.cs
- EntityTypeEmitter.cs
- KeyGestureValueSerializer.cs
- BindingValueChangedEventArgs.cs
- SqlUtils.cs
- GroupStyle.cs
- WorkflowMarkupSerializationManager.cs
- DataGridViewCellPaintingEventArgs.cs
- FolderBrowserDialog.cs
- GeneratedView.cs
- _DomainName.cs
- ResizeGrip.cs
- DetailsView.cs
- AutoScrollHelper.cs
- DataSourceViewSchemaConverter.cs
- BamlBinaryReader.cs
- GridViewRowPresenterBase.cs
- ExtractCollection.cs
- HandlerWithFactory.cs
- ExpressionBindingCollection.cs
- PermissionSet.cs
- PropertyEntry.cs
- IIS7UserPrincipal.cs
- AppDomainAttributes.cs
- ToolStripSeparatorRenderEventArgs.cs
- DesignerContextDescriptor.cs
- ExpressionEditor.cs
- EntityDataReader.cs
- ObjectList.cs
- SelectionEditor.cs
- DelegateHelpers.Generated.cs
- OLEDB_Enum.cs
- ServiceHttpModule.cs
- TreeChangeInfo.cs
- HtmlCalendarAdapter.cs
- GridItemCollection.cs
- UnsafeNativeMethods.cs
- DomNameTable.cs
- DefaultAssemblyResolver.cs
- ByteConverter.cs
- BinaryCommonClasses.cs
- ConsumerConnectionPoint.cs
- DesignerCommandSet.cs
- XmlBinaryReaderSession.cs
- SpecialFolderEnumConverter.cs
- KeyConstraint.cs
- TextPointer.cs
- ProcessRequestArgs.cs
- ButtonBase.cs
- SqlSupersetValidator.cs
- Serializer.cs
- NativeMethodsCLR.cs