Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / FindCriteriaElement.cs / 1305376 / FindCriteriaElement.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System.ComponentModel; using System.Configuration; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Configuration; using System.Xml; using System.Xml.Linq; [Fx.Tag.XamlVisible(false)] public sealed class FindCriteriaElement : ConfigurationElement { ConfigurationPropertyCollection properties; [ConfigurationProperty(ConfigurationStrings.Types)] [SuppressMessage( FxCop.Category.Configuration, FxCop.Rule.ConfigurationPropertyNameRule, Justification = "The configuration name for this element is 'types'.")] public ContractTypeNameElementCollection ContractTypeNames { get { return (ContractTypeNameElementCollection)base[ConfigurationStrings.Types]; } } [ConfigurationProperty(ConfigurationStrings.Scopes)] public ScopeElementCollection Scopes { get { return (ScopeElementCollection)base[ConfigurationStrings.Scopes]; } } [ConfigurationProperty(ConfigurationStrings.ScopeMatchBy)] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule, Justification = "No validation requiered.")] public Uri ScopeMatchBy { get { return (Uri)base[ConfigurationStrings.ScopeMatchBy]; } set { if (value == null) { throw FxTrace.Exception.ArgumentNull("value"); } base[ConfigurationStrings.ScopeMatchBy] = value; } } [ConfigurationProperty(ConfigurationStrings.Extensions)] public XmlElementElementCollection Extensions { get { return (XmlElementElementCollection)base[ConfigurationStrings.Extensions]; } } [ConfigurationProperty(ConfigurationStrings.Duration, DefaultValue = DiscoveryDefaults.DiscoveryOperationDurationString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = "00:00:00.001")] public TimeSpan Duration { get { return (TimeSpan)base[ConfigurationStrings.Duration]; } set { base[ConfigurationStrings.Duration] = value; } } [ConfigurationProperty(ConfigurationStrings.MaxResults, DefaultValue = int.MaxValue)] [IntegerValidator(MinValue = 1, MaxValue = int.MaxValue)] public int MaxResults { get { return (int)base[ConfigurationStrings.MaxResults]; } set { base[ConfigurationStrings.MaxResults] = value; } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection(); properties.Add( new ConfigurationProperty( ConfigurationStrings.Types, typeof(ContractTypeNameElementCollection), null, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.ScopeMatchBy, typeof(Uri), DiscoveryDefaults.ScopeMatchBy, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.Scopes, typeof(ScopeElementCollection), null, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.Extensions, typeof(XmlElementElementCollection), null, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.Duration, typeof(TimeSpan), TimeSpan.FromSeconds(20), new TimeSpanOrInfiniteConverter(), new TimeSpanOrInfiniteValidator(TimeSpan.FromMilliseconds(1), TimeSpan.MaxValue), ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.MaxResults, typeof(int), int.MaxValue, null, new IntegerValidator(1, int.MaxValue), ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } internal void ApplyConfiguration(FindCriteria findCriteria) { foreach (ContractTypeNameElement contractTypeNameElement in this.ContractTypeNames) { findCriteria.ContractTypeNames.Add( new XmlQualifiedName( contractTypeNameElement.Name, contractTypeNameElement.Namespace)); } foreach (ScopeElement scopeElement in this.Scopes) { findCriteria.Scopes.Add(scopeElement.Scope); } foreach (XmlElementElement xmlElement in this.Extensions) { findCriteria.Extensions.Add(XElement.Parse(xmlElement.XmlElement.OuterXml)); } findCriteria.ScopeMatchBy = this.ScopeMatchBy; findCriteria.Duration = this.Duration; findCriteria.MaxResults = this.MaxResults; } internal void CopyFrom(FindCriteriaElement source) { foreach (ContractTypeNameElement contractTypeNameElement in source.ContractTypeNames) { this.ContractTypeNames.Add(contractTypeNameElement); } foreach (ScopeElement scopeElement in source.Scopes) { this.Scopes.Add(scopeElement); } foreach (XmlElementElement extensionElement in source.Extensions) { this.Extensions.Add(extensionElement); } this.ScopeMatchBy = source.ScopeMatchBy; this.Duration = source.Duration; this.MaxResults = source.MaxResults; } } } // 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
- RefreshEventArgs.cs
- HtmlEmptyTagControlBuilder.cs
- AuthenticationException.cs
- EntityFrameworkVersions.cs
- ExpressionValueEditor.cs
- DrawToolTipEventArgs.cs
- DataKey.cs
- WrapPanel.cs
- BitVector32.cs
- MinimizableAttributeTypeConverter.cs
- XmlIlTypeHelper.cs
- ScriptRegistrationManager.cs
- HtmlLiteralTextAdapter.cs
- ReadOnlyDictionary.cs
- EntityContainerRelationshipSetEnd.cs
- HasCopySemanticsAttribute.cs
- _NetRes.cs
- MessageQueueInstaller.cs
- WorkItem.cs
- XmlHelper.cs
- CreateUserErrorEventArgs.cs
- VectorValueSerializer.cs
- TextLineBreak.cs
- HttpCacheVary.cs
- TraceSwitch.cs
- DBDataPermissionAttribute.cs
- OracleFactory.cs
- XmlProcessingInstruction.cs
- Choices.cs
- CustomWebEventKey.cs
- JoinGraph.cs
- RangeExpression.cs
- PropertyRef.cs
- DataGridViewRowStateChangedEventArgs.cs
- DbExpressionVisitor.cs
- PackUriHelper.cs
- InvalidateEvent.cs
- TextBoxAutoCompleteSourceConverter.cs
- StringUtil.cs
- ValueConversionAttribute.cs
- DataGridViewCellFormattingEventArgs.cs
- SymbolType.cs
- MemberInfoSerializationHolder.cs
- ValidationResult.cs
- ProgressBar.cs
- CapabilitiesSection.cs
- PathFigureCollection.cs
- ExtensionSimplifierMarkupObject.cs
- Point3DAnimationBase.cs
- SecurityPermission.cs
- BaseTypeViewSchema.cs
- GridViewSelectEventArgs.cs
- DictionaryEntry.cs
- SystemThemeKey.cs
- FigureParagraph.cs
- NameTable.cs
- QuaternionRotation3D.cs
- AggregateNode.cs
- SecurityPolicySection.cs
- VarRefManager.cs
- UpdateManifestForBrowserApplication.cs
- ListViewUpdateEventArgs.cs
- UnsafeNativeMethodsTablet.cs
- GenericPrincipal.cs
- ScriptControlManager.cs
- ConfigsHelper.cs
- SerializationObjectManager.cs
- XPathNavigatorKeyComparer.cs
- XmlSchemas.cs
- Literal.cs
- WebPartDescriptionCollection.cs
- TreeNodeConverter.cs
- DiagnosticsConfigurationHandler.cs
- CachedTypeface.cs
- OutputScopeManager.cs
- ProxyManager.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- Assert.cs
- XsdBuildProvider.cs
- DefaultAssemblyResolver.cs
- GridViewRowPresenter.cs
- FunctionNode.cs
- AssertSection.cs
- ObjectContext.cs
- ExpressionsCollectionConverter.cs
- MethodToken.cs
- BaseTreeIterator.cs
- SQlBooleanStorage.cs
- CatalogPartDesigner.cs
- MarkedHighlightComponent.cs
- TableFieldsEditor.cs
- CharConverter.cs
- SafeRightsManagementPubHandle.cs
- RequestStatusBarUpdateEventArgs.cs
- AmbiguousMatchException.cs
- ISAPIWorkerRequest.cs
- CompilerError.cs
- RepeaterCommandEventArgs.cs
- ManipulationVelocities.cs
- Span.cs