Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Activities / System / ServiceModel / CorrelationQuery.cs / 1305376 / CorrelationQuery.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel { using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Activities; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using SR2 = System.ServiceModel.Activities.SR; public class CorrelationQuery { CollectionselectAdditional; public CorrelationQuery() { } [SuppressMessage(FxCop.Category.Usage, FxCop.Rule.CollectionPropertiesShouldBeReadOnly, Justification = "TODO 87762, remove the set")] [SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.PropertyExternalTypesMustBeKnown, Justification = "This property is XAML friendly, no need to add KnownXamlExternal")] [DefaultValue(null)] public MessageQuerySet Select { get; set; } public Collection SelectAdditional { get { if (this.selectAdditional == null) { this.selectAdditional = new QueryCollection(); } return this.selectAdditional; } } [SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.PropertyExternalTypesMustBeKnown, Justification = "This property is XAML friendly, no need to add KnownXamlExternal")] [DefaultValue(null)] public MessageFilter Where { get; set; } internal bool IsDefaultContextQuery { get; set; } public override bool Equals(object other) { if (object.ReferenceEquals(this, other)) { return true; } CorrelationQuery otherQuery = other as CorrelationQuery; if (otherQuery == null) { return false; } if (this.Where == null) { return otherQuery.Where == null; } return this.Where.Equals(otherQuery.Where); } public override int GetHashCode() { return (this.Where != null) ? this.Where.GetHashCode() : 0; } internal static bool IsQueryCollectionSearchable(IEnumerable queries) { foreach (CorrelationQuery query in queries) { if (!(query.Where is CorrelationActionMessageFilter || query.Where is ActionMessageFilter)) { return false; } } return true; } internal static CorrelationQuery FindCorrelationQueryForAction(IEnumerable queries, string action) { string localAction = action != null ? action : String.Empty; foreach (CorrelationQuery query in queries) { // if the action is wildcard, we have a match all if (query.Where is CorrelationActionMessageFilter) { if (((CorrelationActionMessageFilter)query.Where).Action == localAction || localAction == MessageHeaders.WildcardAction) { return query; } } else if (query.Where is ActionMessageFilter) { if (((ActionMessageFilter)query.Where).Actions.Contains(localAction) || localAction == MessageHeaders.WildcardAction) { return query; } } } return null; } internal CorrelationQuery Clone() { CorrelationQuery cloneQuery = new CorrelationQuery { Select = this.Select, IsDefaultContextQuery = this.IsDefaultContextQuery, Where = this.Where, }; if (this.selectAdditional != null) { foreach (MessageQuerySet messageQuerySet in this.selectAdditional) { cloneQuery.SelectAdditional.Add(messageQuerySet); } } return cloneQuery; } class QueryCollection : Collection { public QueryCollection() { } protected override void InsertItem(int index, MessageQuerySet item) { if (item == null) { throw FxTrace.Exception.ArgumentNull("item"); } base.InsertItem(index, item); } protected override void SetItem(int index, MessageQuerySet item) { if (item == null) { throw FxTrace.Exception.ArgumentNull("item"); } base.SetItem(index, item); } } } } // 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
- DesignTimeParseData.cs
- EnterpriseServicesHelper.cs
- Vector3DAnimationBase.cs
- DBCommand.cs
- AddressingProperty.cs
- SingleSelectRootGridEntry.cs
- _NegoStream.cs
- EncryptedType.cs
- RenderingEventArgs.cs
- TemplateControl.cs
- PeerNameRecord.cs
- XmlUnspecifiedAttribute.cs
- OdbcError.cs
- PassportAuthenticationModule.cs
- RequestDescription.cs
- Part.cs
- XmlSchemaValidator.cs
- TextEditorParagraphs.cs
- AlgoModule.cs
- BinaryConverter.cs
- AnimationException.cs
- XmlCompatibilityReader.cs
- HttpAsyncResult.cs
- CdpEqualityComparer.cs
- MDIControlStrip.cs
- ComboBox.cs
- LinqDataSourceSelectEventArgs.cs
- FormViewCommandEventArgs.cs
- Token.cs
- TypeSystem.cs
- BitmapCache.cs
- SubpageParaClient.cs
- EntityDataSourceValidationException.cs
- TimeBoundedCache.cs
- XmlDocument.cs
- ReferencedCollectionType.cs
- XmlDataImplementation.cs
- SmiMetaData.cs
- ModelUIElement3D.cs
- Point3DValueSerializer.cs
- RightsManagementResourceHelper.cs
- RoutingBehavior.cs
- ArrayConverter.cs
- GenericTextProperties.cs
- ValueSerializer.cs
- ItemCollection.cs
- AngleUtil.cs
- WebPartsPersonalizationAuthorization.cs
- EventRecord.cs
- RoleService.cs
- SystemWebCachingSectionGroup.cs
- AmbientValueAttribute.cs
- _FtpDataStream.cs
- DeferrableContent.cs
- BitmapCache.cs
- ImageCodecInfo.cs
- JournalEntry.cs
- TextBounds.cs
- MimeTypePropertyAttribute.cs
- dataobject.cs
- XmlHierarchyData.cs
- OleDbParameter.cs
- FormatException.cs
- DataGridHeaderBorder.cs
- Monitor.cs
- MessageDecoder.cs
- CriticalHandle.cs
- LinkButton.cs
- SerializationAttributes.cs
- COM2ExtendedBrowsingHandler.cs
- RequestCacheValidator.cs
- XmlnsPrefixAttribute.cs
- WindowsPen.cs
- RemoteWebConfigurationHost.cs
- RangeValuePatternIdentifiers.cs
- OdbcConnection.cs
- AuthenticationServiceManager.cs
- WebPermission.cs
- HostDesigntimeLicenseContext.cs
- SmiGettersStream.cs
- ExpandCollapsePattern.cs
- ActivationService.cs
- AppSettingsSection.cs
- OperationCanceledException.cs
- DefaultValueAttribute.cs
- ValueUnavailableException.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- ModelUIElement3D.cs
- TabControl.cs
- WebBrowsableAttribute.cs
- DynamicRouteExpression.cs
- ActiveXSite.cs
- LayoutSettings.cs
- ResourceProviderFactory.cs
- BooleanProjectedSlot.cs
- RichTextBox.cs
- DynamicDocumentPaginator.cs
- DynamicDataManager.cs
- TransformerInfoCollection.cs
- SpellerError.cs