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
- Context.cs
- SimpleBitVector32.cs
- DeclarativeCatalogPartDesigner.cs
- ControlIdConverter.cs
- HtmlControlPersistable.cs
- UncommonField.cs
- SQLMoneyStorage.cs
- MemberListBinding.cs
- PartialTrustVisibleAssembliesSection.cs
- DesignOnlyAttribute.cs
- SQLGuid.cs
- HttpHandlerAction.cs
- UniqueIdentifierService.cs
- InstanceHandleConflictException.cs
- InitializationEventAttribute.cs
- AtomServiceDocumentSerializer.cs
- DocobjHost.cs
- dtdvalidator.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- ExpandSegment.cs
- StylusPointProperties.cs
- Point3DCollection.cs
- CompilationSection.cs
- Model3DCollection.cs
- TagPrefixInfo.cs
- DefaultTextStore.cs
- FrameworkElementFactory.cs
- TeredoHelper.cs
- BuildProvider.cs
- ServiceProviders.cs
- LayoutExceptionEventArgs.cs
- WebHttpSecurity.cs
- HtmlInputPassword.cs
- FontStyleConverter.cs
- MessageVersionConverter.cs
- EntityTransaction.cs
- TypeConverterValueSerializer.cs
- RoutedEvent.cs
- WinFormsUtils.cs
- KeyMatchBuilder.cs
- ParenExpr.cs
- ManualResetEventSlim.cs
- BulletedList.cs
- MouseGesture.cs
- BitmapPalettes.cs
- OutOfMemoryException.cs
- DataViewSettingCollection.cs
- InheritanceUI.cs
- AccessText.cs
- handlecollector.cs
- InternalBufferOverflowException.cs
- messageonlyhwndwrapper.cs
- UnaryNode.cs
- RelationshipEndCollection.cs
- LinearGradientBrush.cs
- Storyboard.cs
- Label.cs
- ButtonPopupAdapter.cs
- ElementHostAutomationPeer.cs
- Point3DCollectionValueSerializer.cs
- ReverseInheritProperty.cs
- CompileLiteralTextParser.cs
- ReadOnlyDictionary.cs
- XPathScanner.cs
- FormatException.cs
- PropertyIDSet.cs
- DetailsView.cs
- XmlSiteMapProvider.cs
- ClickablePoint.cs
- HwndSubclass.cs
- WorkflowWebHostingModule.cs
- BufferModeSettings.cs
- IncomingWebRequestContext.cs
- MetricEntry.cs
- ConnectionDemuxer.cs
- TextSchema.cs
- SocketException.cs
- ResourceReader.cs
- ContextMenu.cs
- EntitySqlQueryCacheKey.cs
- SecurityRuntime.cs
- EntityProviderServices.cs
- RepeaterItemEventArgs.cs
- ClientProxyGenerator.cs
- RangeContentEnumerator.cs
- TextRunTypographyProperties.cs
- ButtonPopupAdapter.cs
- XmlLanguageConverter.cs
- DataError.cs
- DispatcherObject.cs
- x509store.cs
- WebPartDisplayModeCancelEventArgs.cs
- ContextQuery.cs
- HttpListener.cs
- XmlDataImplementation.cs
- XsltFunctions.cs
- BamlLocalizationDictionary.cs
- RNGCryptoServiceProvider.cs
- ProviderUtil.cs
- Nullable.cs