Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Routing / System / ServiceModel / Dispatcher / EndpointNameMessageFilter.cs / 1305376 / EndpointNameMessageFilter.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.ServiceModel.Description; using System.Collections.Generic; using System.Configuration; using System.ServiceModel.Routing; [SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.TypesMustHaveXamlCallableConstructors)] [SuppressMessage(FxCop.Category.Xaml, FxCop.Rule.TypesShouldHavePublicParameterlessConstructors)] public class EndpointNameMessageFilter : MessageFilter { const string EndpointNameKey = "System.ServiceModel.Routing.EndpointNameMessageFilter.Name"; string endpointName; public EndpointNameMessageFilter(string endpointName) { if (string.IsNullOrEmpty(endpointName)) { throw FxTrace.Exception.ArgumentNullOrEmpty("endpointName"); } this.endpointName = endpointName; } public override bool Match(Message message) { if (message == null) { throw FxTrace.Exception.ArgumentNull("message"); } return MatchInternal(message.Properties); } public override bool Match(MessageBuffer buffer) { if (buffer == null) { throw FxTrace.Exception.ArgumentNull("buffer"); } using (Message tempMessage = buffer.CreateMessage()) { return MatchInternal(tempMessage.Properties); } } bool MatchInternal(MessageProperties messageProperties) { object value; if (messageProperties.TryGetValue(EndpointNameKey, out value)) { string messageEndpoint = value.ToString(); return string.Equals(messageEndpoint, this.endpointName, StringComparison.Ordinal); } return false; } internal static void Set(MessageProperties properties, string endpointName) { properties[EndpointNameKey] = endpointName; } internal static void Validate(ICollectionmessageFilters, HashSet endpoints) { foreach (MessageFilter filter in messageFilters) { EndpointNameMessageFilter endpointFilter = filter as EndpointNameMessageFilter; if (endpointFilter != null) { endpointFilter.Validate(endpoints); } } } void Validate(HashSet endpoints) { if (!endpoints.Contains(this.endpointName)) { throw FxTrace.Exception.AsError(new ConfigurationErrorsException(SR.EndpointNameNotFound(this.endpointName))); } } } } // 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
- VisualProxy.cs
- DocumentPageHost.cs
- TextTreeObjectNode.cs
- XPathException.cs
- WebUtil.cs
- ImageIndexConverter.cs
- XmlNodeChangedEventManager.cs
- ContentTextAutomationPeer.cs
- MouseGesture.cs
- UriSectionData.cs
- ProviderConnectionPointCollection.cs
- CipherData.cs
- WebDescriptionAttribute.cs
- ViewCellRelation.cs
- ByteStorage.cs
- EntityClassGenerator.cs
- DataGridViewColumnConverter.cs
- XmlWriterTraceListener.cs
- FrameworkTemplate.cs
- IndentedWriter.cs
- RepeatButton.cs
- XmlRawWriter.cs
- HashRepartitionEnumerator.cs
- ExpressionBindingCollection.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- UnauthorizedAccessException.cs
- GridSplitterAutomationPeer.cs
- SafeCertificateStore.cs
- LineServicesRun.cs
- BufferAllocator.cs
- UpdatableWrapper.cs
- LOSFormatter.cs
- ConsumerConnectionPoint.cs
- DbConnectionPoolIdentity.cs
- ParameterEditorUserControl.cs
- BroadcastEventHelper.cs
- IDataContractSurrogate.cs
- SchemaImporter.cs
- PDBReader.cs
- AutoResetEvent.cs
- CompilationSection.cs
- ItemsControlAutomationPeer.cs
- UnsafeNativeMethods.cs
- PropertyGeneratedEventArgs.cs
- DefaultBindingPropertyAttribute.cs
- XmlAutoDetectWriter.cs
- WindowsGrip.cs
- ButtonChrome.cs
- SetStateEventArgs.cs
- Logging.cs
- QilLiteral.cs
- TextChange.cs
- DelegatingConfigHost.cs
- EventsTab.cs
- GridToolTip.cs
- KnownBoxes.cs
- AtomServiceDocumentSerializer.cs
- VisualTreeUtils.cs
- BitVec.cs
- UInt64Storage.cs
- TypeUtil.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- WebPartMenuStyle.cs
- BitmapEffect.cs
- SystemIdentity.cs
- Rotation3D.cs
- RIPEMD160.cs
- ClientScriptItem.cs
- TextRangeBase.cs
- CustomAssemblyResolver.cs
- ImageBrush.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- StreamWriter.cs
- ListBox.cs
- SchemaElement.cs
- ArrayTypeMismatchException.cs
- DesignerAttribute.cs
- EventsTab.cs
- StackSpiller.cs
- GradientStopCollection.cs
- XmlSerializationGeneratedCode.cs
- RequestTimeoutManager.cs
- QueryContinueDragEvent.cs
- XmlBinaryReader.cs
- NullRuntimeConfig.cs
- BuildManagerHost.cs
- KeyValuePairs.cs
- Size.cs
- MetadataItem_Static.cs
- UITypeEditor.cs
- SvcMapFileSerializer.cs
- ToolboxComponentsCreatingEventArgs.cs
- OlePropertyStructs.cs
- _FtpDataStream.cs
- FixedTextSelectionProcessor.cs
- ScopedKnownTypes.cs
- updateconfighost.cs
- Margins.cs
- SchemaElement.cs
- InternalRelationshipCollection.cs