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
- CompressedStack.cs
- FixedTextPointer.cs
- OrderedDictionary.cs
- SortedSet.cs
- Intellisense.cs
- PerfCounters.cs
- BooleanStorage.cs
- XamlToRtfWriter.cs
- ExceptionWrapper.cs
- MergeFilterQuery.cs
- AppSettingsReader.cs
- OracleBoolean.cs
- SelectedDatesCollection.cs
- CodePageUtils.cs
- MdiWindowListItemConverter.cs
- XmlSchemaComplexContentRestriction.cs
- DSASignatureDeformatter.cs
- ResourceReferenceExpression.cs
- PartialList.cs
- SystemWebExtensionsSectionGroup.cs
- ProcessHost.cs
- ValidationHelper.cs
- ResourceAssociationType.cs
- SimpleModelProvider.cs
- SafeCoTaskMem.cs
- ListViewItemMouseHoverEvent.cs
- ButtonFlatAdapter.cs
- StringAttributeCollection.cs
- QueryContinueDragEventArgs.cs
- ColorConvertedBitmap.cs
- Root.cs
- DesignBindingPicker.cs
- JulianCalendar.cs
- Delegate.cs
- TextWriter.cs
- DataListCommandEventArgs.cs
- SqlMethodAttribute.cs
- DefaultDiscoveryServiceExtension.cs
- TraceContext.cs
- HtmlTextArea.cs
- JsonUriDataContract.cs
- RTLAwareMessageBox.cs
- XmlWrappingReader.cs
- CachedCompositeFamily.cs
- _AcceptOverlappedAsyncResult.cs
- UnknownBitmapEncoder.cs
- wgx_commands.cs
- IApplicationTrustManager.cs
- GridView.cs
- SizeLimitedCache.cs
- ObjectQuery_EntitySqlExtensions.cs
- CapabilitiesUse.cs
- AtlasWeb.Designer.cs
- IPAddress.cs
- TextClipboardData.cs
- WpfPayload.cs
- FieldMetadata.cs
- SrgsElementFactory.cs
- Assembly.cs
- FunctionCommandText.cs
- ClientUriBehavior.cs
- DataGridLinkButton.cs
- AssemblyCache.cs
- NativeMethodsOther.cs
- DesignerDeviceConfig.cs
- EntityDataSourceQueryBuilder.cs
- LinqDataSourceValidationException.cs
- Size.cs
- InvalidComObjectException.cs
- HighlightComponent.cs
- FamilyTypeface.cs
- ObjectCloneHelper.cs
- CriticalExceptions.cs
- URLString.cs
- ListItemParagraph.cs
- ConfigurationSectionCollection.cs
- KnownColorTable.cs
- DesignerPainter.cs
- XmlSchemaComplexType.cs
- BitmapEffectRenderDataResource.cs
- CodeCatchClauseCollection.cs
- FilterableAttribute.cs
- StackOverflowException.cs
- WebPartTracker.cs
- HierarchicalDataSourceControl.cs
- Membership.cs
- ObjectViewQueryResultData.cs
- ObjectQueryProvider.cs
- EnumerableRowCollection.cs
- HTTPNotFoundHandler.cs
- clipboard.cs
- SimpleMailWebEventProvider.cs
- GetWinFXPath.cs
- UInt32Converter.cs
- DockingAttribute.cs
- ListenerElementsCollection.cs
- RunWorkerCompletedEventArgs.cs
- webproxy.cs
- XsltException.cs
- HelpInfo.cs