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
- CopyNamespacesAction.cs
- HtmlElementCollection.cs
- NamedPipeProcessProtocolHandler.cs
- SqlDependencyListener.cs
- DataPagerFieldCommandEventArgs.cs
- PlainXmlSerializer.cs
- XmlAggregates.cs
- HtmlHistory.cs
- DesignerLoader.cs
- ReversePositionQuery.cs
- CodeDelegateCreateExpression.cs
- Ref.cs
- DefaultBindingPropertyAttribute.cs
- ColorTransformHelper.cs
- ServiceHostFactory.cs
- SqlBulkCopyColumnMapping.cs
- ConfigXmlCDataSection.cs
- XPathNodeList.cs
- DefaultPrintController.cs
- EmptyReadOnlyDictionaryInternal.cs
- ManagementBaseObject.cs
- XmlAggregates.cs
- ColumnMapVisitor.cs
- CorePropertiesFilter.cs
- IsolatedStorageFileStream.cs
- BaseAppDomainProtocolHandler.cs
- MenuEventArgs.cs
- ToolStripPanelRow.cs
- InProcStateClientManager.cs
- SqlClientWrapperSmiStream.cs
- MimeFormatExtensions.cs
- SqlConnection.cs
- Token.cs
- SHA384.cs
- IisTraceListener.cs
- Events.cs
- LoadedEvent.cs
- SqlClientWrapperSmiStream.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ColorTransform.cs
- ContentValidator.cs
- JournalEntry.cs
- ProcessManager.cs
- URLString.cs
- EncoderParameter.cs
- QilTargetType.cs
- TraceUtility.cs
- Code.cs
- FillBehavior.cs
- XmlSchemaSequence.cs
- DeclaredTypeValidatorAttribute.cs
- BuildResult.cs
- LocalValueEnumerator.cs
- SerialPort.cs
- Operator.cs
- SatelliteContractVersionAttribute.cs
- EncryptedPackage.cs
- DriveInfo.cs
- PenContexts.cs
- Assembly.cs
- TextElementCollectionHelper.cs
- DiscardableAttribute.cs
- EdmPropertyAttribute.cs
- SmtpDateTime.cs
- FixUpCollection.cs
- ResXBuildProvider.cs
- XmlChoiceIdentifierAttribute.cs
- HelpHtmlBuilder.cs
- SpellerInterop.cs
- BindingListCollectionView.cs
- FixedFindEngine.cs
- remotingproxy.cs
- ConnectorDragDropGlyph.cs
- XmlNodeWriter.cs
- WebInvokeAttribute.cs
- BitConverter.cs
- TouchEventArgs.cs
- Visitors.cs
- OdbcInfoMessageEvent.cs
- PopupRoot.cs
- FontUnitConverter.cs
- TheQuery.cs
- ToolStripDropTargetManager.cs
- BamlTreeNode.cs
- TraceHwndHost.cs
- JapaneseLunisolarCalendar.cs
- XmlSchemaAttributeGroup.cs
- FolderBrowserDialog.cs
- OracleException.cs
- MonikerUtility.cs
- ObjectDataSourceMethodEventArgs.cs
- RIPEMD160.cs
- BaseCAMarshaler.cs
- SQLInt16.cs
- PageBorderless.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- FormParameter.cs
- Thumb.cs
- MediaEntryAttribute.cs
- MeshGeometry3D.cs