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
- sqlstateclientmanager.cs
- WindowsGraphics2.cs
- EntityStoreSchemaGenerator.cs
- XmlNavigatorFilter.cs
- SessionStateModule.cs
- GeneralTransform3DTo2D.cs
- Soap12FormatExtensions.cs
- PresentationTraceSources.cs
- PngBitmapDecoder.cs
- WebSysDisplayNameAttribute.cs
- ServicePointManager.cs
- EventLogPropertySelector.cs
- X509SecurityToken.cs
- TagMapInfo.cs
- AnnotationResourceChangedEventArgs.cs
- SplitterCancelEvent.cs
- FileDialog.cs
- EncryptedPackageFilter.cs
- PermissionSetTriple.cs
- SqlConnectionStringBuilder.cs
- ConnectionsZone.cs
- SecurityMode.cs
- FormsIdentity.cs
- securitycriticaldataformultiplegetandset.cs
- SudsCommon.cs
- Set.cs
- VirtualStackFrame.cs
- HttpPostLocalhostServerProtocol.cs
- precedingquery.cs
- OdbcEnvironmentHandle.cs
- MessagingActivityHelper.cs
- SqlResolver.cs
- AddInController.cs
- ArrayTypeMismatchException.cs
- PageTheme.cs
- DataControlFieldCell.cs
- EntityCollection.cs
- CurrentChangedEventManager.cs
- ComponentEditorForm.cs
- InkCanvasFeedbackAdorner.cs
- StrokeCollection2.cs
- CodeIterationStatement.cs
- RankException.cs
- TextRunTypographyProperties.cs
- WhitespaceRuleReader.cs
- FileResponseElement.cs
- CodeStatementCollection.cs
- GiveFeedbackEvent.cs
- DataGridView.cs
- SecureConversationSecurityTokenParameters.cs
- CanonicalFormWriter.cs
- InputManager.cs
- WebControlToolBoxItem.cs
- AutomationEventArgs.cs
- ResourcePermissionBase.cs
- TransactionManager.cs
- TrackBar.cs
- indexingfiltermarshaler.cs
- ColumnPropertiesGroup.cs
- PathData.cs
- Parameter.cs
- HtmlTableCellCollection.cs
- BamlStream.cs
- CodeTypeReferenceCollection.cs
- HttpDebugHandler.cs
- DbTransaction.cs
- ConnectionPoolRegistry.cs
- DesignTimeParseData.cs
- FontInfo.cs
- Formatter.cs
- ThreadLocal.cs
- NamedServiceModelExtensionCollectionElement.cs
- CalculatedColumn.cs
- SafeIUnknown.cs
- SignatureDescription.cs
- DockingAttribute.cs
- WebPartRestoreVerb.cs
- EventHandlersStore.cs
- HiddenField.cs
- IntSecurity.cs
- XmlElement.cs
- ArrayTypeMismatchException.cs
- HttpServerVarsCollection.cs
- ConfigXmlWhitespace.cs
- DataColumnMappingCollection.cs
- RequestQueue.cs
- ResourceProperty.cs
- ConnectivityStatus.cs
- WebConfigurationManager.cs
- EditorZone.cs
- FlowNode.cs
- TableCellCollection.cs
- IgnoreSectionHandler.cs
- DbModificationClause.cs
- Solver.cs
- Compress.cs
- Expander.cs
- Menu.cs
- ManifestResourceInfo.cs
- TrustLevelCollection.cs