Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / ResolveCriteria.cs / 1305376 / ResolveCriteria.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System; using System.Collections.ObjectModel; using System.Runtime; using System.Xml; using System.Xml.Linq; using System.Xml.Schema; using SR2 = System.ServiceModel.Discovery.SR; [Fx.Tag.XamlVisible(false)] public class ResolveCriteria { static TimeSpan defaultDuration = TimeSpan.FromSeconds(20); EndpointAddress endpointAddress; TimeSpan duration; NonNullItemCollectionextensions; public ResolveCriteria() : this(new EndpointAddress(EndpointAddress.AnonymousUri)) { } public ResolveCriteria(EndpointAddress address) { if (address == null) { throw FxTrace.Exception.ArgumentNull("address"); } this.endpointAddress = address; this.duration = ResolveCriteria.defaultDuration; } public EndpointAddress Address { get { return this.endpointAddress; } set { if (value == null) { throw FxTrace.Exception.ArgumentNull("value"); } this.endpointAddress = value; } } public TimeSpan Duration { get { return this.duration; } set { if (value.CompareTo(TimeSpan.Zero) <= 0) { throw FxTrace.Exception.ArgumentOutOfRange("value", value, SR2.DiscoveryResolveDurationLessThanZero); } this.duration = value; } } public Collection Extensions { get { if (this.extensions == null) { this.extensions = new NonNullItemCollection (); } return this.extensions; } } [Fx.Tag.Throws(typeof(XmlException), "throws on incorrect xml data")] internal void ReadFrom(DiscoveryVersion discoveryVersion, XmlReader reader) { if (discoveryVersion == null) { throw FxTrace.Exception.ArgumentNull("discoveryVersion"); } if (reader == null) { throw FxTrace.Exception.ArgumentNull("reader"); } reader.MoveToContent(); if (reader.IsEmptyElement) { reader.Read(); return; } int startDepth = reader.Depth; reader.ReadStartElement(); this.endpointAddress = SerializationUtility.ReadEndpointAddress(discoveryVersion, reader); this.extensions = null; this.duration = TimeSpan.MaxValue; while (true) { reader.MoveToContent(); if ((reader.NodeType == XmlNodeType.EndElement) && (reader.Depth == startDepth)) { break; } else if (reader.IsStartElement(ProtocolStrings.SchemaNames.DurationElement, ProtocolStrings.VersionInternal.Namespace)) { this.duration = SerializationUtility.ReadDuration(reader); } else if (reader.IsStartElement()) { XElement xElement = XElement.ReadFrom(reader) as XElement; Extensions.Add(xElement); } else { reader.Read(); } } } internal void WriteTo(DiscoveryVersion discoveryVersion, XmlWriter writer) { if (discoveryVersion == null) { throw FxTrace.Exception.ArgumentNull("discoveryVersion"); } if (writer == null) { throw FxTrace.Exception.ArgumentNull("writer"); } SerializationUtility.WriteEndPointAddress(discoveryVersion, this.endpointAddress, writer); if (this.duration != TimeSpan.MaxValue) { writer.WriteElementString( ProtocolStrings.SchemaNames.DurationElement, ProtocolStrings.VersionInternal.Namespace, XmlConvert.ToString(this.duration)); } if (this.extensions != null) { foreach (XElement xElement in Extensions) { xElement.WriteTo(writer); } } } } } // 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
- MobileComponentEditorPage.cs
- DefaultObjectMappingItemCollection.cs
- XmlTextEncoder.cs
- M3DUtil.cs
- ClientUrlResolverWrapper.cs
- DataGridViewIntLinkedList.cs
- MasterPageCodeDomTreeGenerator.cs
- ClientSettings.cs
- BitSet.cs
- SystemException.cs
- EntityContainerAssociationSet.cs
- Application.cs
- PackagePartCollection.cs
- Boolean.cs
- SR.Designer.cs
- SkipStoryboardToFill.cs
- OLEDB_Enum.cs
- ThicknessAnimation.cs
- SystemFonts.cs
- InputLanguageManager.cs
- safemediahandle.cs
- AssemblyHash.cs
- FrameworkContentElement.cs
- SingleStorage.cs
- StateValidator.cs
- TrackingMemoryStreamFactory.cs
- PointUtil.cs
- BaseTransportHeaders.cs
- SqlRewriteScalarSubqueries.cs
- WebPartDescriptionCollection.cs
- BitmapScalingModeValidation.cs
- ProxyWebPartManager.cs
- MachineKeySection.cs
- GridLength.cs
- TransformerInfoCollection.cs
- Events.cs
- returneventsaver.cs
- EndpointInstanceProvider.cs
- Switch.cs
- ObjectDataSourceView.cs
- InternalPolicyElement.cs
- Error.cs
- SafeHandles.cs
- PermissionToken.cs
- DeclarativeConditionsCollection.cs
- StateWorkerRequest.cs
- DetailsViewPageEventArgs.cs
- DiscoveryReferences.cs
- StreamMarshaler.cs
- ReadOnlyPropertyMetadata.cs
- ConfigXmlElement.cs
- LookupNode.cs
- TypefaceCollection.cs
- ReservationNotFoundException.cs
- ColumnWidthChangedEvent.cs
- PersonalizationStateQuery.cs
- DocumentsTrace.cs
- XmlSchemaAny.cs
- MdImport.cs
- ResourceReferenceExpression.cs
- VerticalAlignConverter.cs
- ExceptionValidationRule.cs
- QuaternionAnimationUsingKeyFrames.cs
- BindValidator.cs
- RuntimeResourceSet.cs
- ObjectSpanRewriter.cs
- ResourceIDHelper.cs
- CheckBoxStandardAdapter.cs
- ResourceAssociationSetEnd.cs
- SymLanguageType.cs
- SqlInternalConnection.cs
- ClientConfigurationSystem.cs
- PackageRelationshipCollection.cs
- DefaultBindingPropertyAttribute.cs
- DropTarget.cs
- ConsoleKeyInfo.cs
- AutomationEventArgs.cs
- RepeaterItemCollection.cs
- RotateTransform.cs
- ParameterToken.cs
- FastPropertyAccessor.cs
- XmlSignificantWhitespace.cs
- DocumentSchemaValidator.cs
- XmlSchemaValidationException.cs
- LinqDataSourceStatusEventArgs.cs
- CellCreator.cs
- NoClickablePointException.cs
- FileDialogPermission.cs
- ComponentEvent.cs
- ButtonField.cs
- CustomError.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ReflectPropertyDescriptor.cs
- TableLayout.cs
- PropertyGridEditorPart.cs
- COM2EnumConverter.cs
- HotSpot.cs
- FlowDocumentScrollViewer.cs
- TemplatedMailWebEventProvider.cs
- DesignSurfaceCollection.cs