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
- NameObjectCollectionBase.cs
- AppDomainAttributes.cs
- TypeCollectionPropertyEditor.cs
- RuntimeHandles.cs
- FixedSOMElement.cs
- SqlDelegatedTransaction.cs
- XMLDiffLoader.cs
- RowToParametersTransformer.cs
- ToolStripDropDown.cs
- MatrixTransform3D.cs
- ParameterToken.cs
- RegisteredArrayDeclaration.cs
- SrgsOneOf.cs
- XPathNodeIterator.cs
- TreePrinter.cs
- BitmapDownload.cs
- TraceHandler.cs
- OdbcEnvironmentHandle.cs
- DirtyTextRange.cs
- Size.cs
- LifetimeServices.cs
- CachedCompositeFamily.cs
- EdmMember.cs
- AdjustableArrowCap.cs
- DictionaryTraceRecord.cs
- ConnectionInterfaceCollection.cs
- LostFocusEventManager.cs
- ExpressionVisitorHelpers.cs
- XmlDomTextWriter.cs
- PieceDirectory.cs
- TraceContextRecord.cs
- LogicalExpr.cs
- LocalFileSettingsProvider.cs
- MemberRelationshipService.cs
- SerializationInfo.cs
- LinqDataSourceUpdateEventArgs.cs
- RTTrackingProfile.cs
- MemberHolder.cs
- SemanticAnalyzer.cs
- AdapterDictionary.cs
- Thumb.cs
- XmlSchemaDocumentation.cs
- WebBrowserContainer.cs
- SortAction.cs
- ClientFactory.cs
- StateRuntime.cs
- TransformProviderWrapper.cs
- PackagingUtilities.cs
- TextDecorationCollection.cs
- AccessorTable.cs
- RtType.cs
- PreloadedPackages.cs
- FtpWebResponse.cs
- TableCell.cs
- Composition.cs
- CommandHelper.cs
- DebugController.cs
- SemanticResolver.cs
- FocusManager.cs
- SmiTypedGetterSetter.cs
- PtsHost.cs
- EdmComplexTypeAttribute.cs
- PageEventArgs.cs
- PartialCachingAttribute.cs
- EnumBuilder.cs
- COM2ExtendedUITypeEditor.cs
- WinEventHandler.cs
- WpfPayload.cs
- Style.cs
- ApplicationSecurityInfo.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- LockCookie.cs
- CompleteWizardStep.cs
- PhonemeEventArgs.cs
- TabControlEvent.cs
- ExceptionAggregator.cs
- PropertyItemInternal.cs
- CompilationUnit.cs
- Preprocessor.cs
- AsyncInvokeOperation.cs
- WrapPanel.cs
- AuthenticationConfig.cs
- Context.cs
- HandledEventArgs.cs
- XsdDateTime.cs
- XmlRawWriter.cs
- NativeMethods.cs
- DateTimeConverter2.cs
- RadioButtonPopupAdapter.cs
- DeclarationUpdate.cs
- TagNameToTypeMapper.cs
- DataSourceXmlSubItemAttribute.cs
- DataBoundControlParameterTarget.cs
- RequestSecurityTokenForGetBrowserToken.cs
- HyperLinkColumn.cs
- TextOnlyOutput.cs
- BoundColumn.cs
- _WebProxyDataBuilder.cs
- XmlBinaryReader.cs
- FunctionUpdateCommand.cs