Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / EndpointFilterProvider.cs / 1 / EndpointFilterProvider.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Dispatcher
{
using System.Collections.Generic;
using System.ServiceModel.Channels;
using System.Runtime.Serialization;
class EndpointFilterProvider
{
SynchronizedCollection initiatingActions;
object mutex;
public EndpointFilterProvider(params string[] initiatingActions)
{
this.mutex = new object();
this.initiatingActions = new SynchronizedCollection(this.mutex, initiatingActions);
}
public SynchronizedCollection InitiatingActions
{
get { return this.initiatingActions; }
}
public MessageFilter CreateFilter(out int priority)
{
lock (this.mutex)
{
priority = 1;
if (initiatingActions.Count == 0)
return new MatchNoneMessageFilter();
string[] actions = new string[initiatingActions.Count];
int index = 0;
for (int i = 0; i < initiatingActions.Count; i++)
{
string currentAction = initiatingActions[i];
if (currentAction == MessageHeaders.WildcardAction)
{
priority = 0;
return new MatchAllMessageFilter();
}
actions[index] = currentAction;
++index;
}
return new ActionMessageFilter(actions);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LocalizationParserHooks.cs
- TemplateBuilder.cs
- AbstractDataSvcMapFileLoader.cs
- SevenBitStream.cs
- AbstractExpressions.cs
- Vector3DAnimationUsingKeyFrames.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- ScriptModule.cs
- RadioButtonFlatAdapter.cs
- ToolTipAutomationPeer.cs
- DBSchemaRow.cs
- XmlCodeExporter.cs
- ListenerElementsCollection.cs
- ToolStripRenderEventArgs.cs
- ContentElement.cs
- InternalBufferOverflowException.cs
- CompressStream.cs
- XsltConvert.cs
- PermissionListSet.cs
- TypeDependencyAttribute.cs
- XmlSchemaCompilationSettings.cs
- DefaultPropertyAttribute.cs
- AppendHelper.cs
- DrawListViewColumnHeaderEventArgs.cs
- LifetimeServices.cs
- DataTemplate.cs
- Margins.cs
- FormatVersion.cs
- AppPool.cs
- NumberFormatter.cs
- BitmapEffectCollection.cs
- WsdlBuildProvider.cs
- InsufficientMemoryException.cs
- StylusOverProperty.cs
- CodeNamespaceImport.cs
- PageStatePersister.cs
- EventsTab.cs
- ActivityDesigner.cs
- TcpProcessProtocolHandler.cs
- PerfCounters.cs
- HttpHandler.cs
- BindingsCollection.cs
- FileStream.cs
- WindowAutomationPeer.cs
- QuadraticBezierSegment.cs
- Fonts.cs
- IPAddressCollection.cs
- EntitySetBase.cs
- TrackingMemoryStream.cs
- DbProviderManifest.cs
- Resources.Designer.cs
- JoinGraph.cs
- MenuStrip.cs
- ResourceManager.cs
- SingleObjectCollection.cs
- ViewGenerator.cs
- CAGDesigner.cs
- Quad.cs
- TraceXPathNavigator.cs
- DBCommand.cs
- SqlInfoMessageEvent.cs
- RepeaterItemCollection.cs
- ParallelTimeline.cs
- QueryableFilterUserControl.cs
- RedistVersionInfo.cs
- RedirectionProxy.cs
- PenThread.cs
- BuildProviderCollection.cs
- ActivityExecutorDelegateInfo.cs
- DataViewListener.cs
- CollectionBuilder.cs
- IconEditor.cs
- AssemblyAttributes.cs
- CompilationLock.cs
- MultiPropertyDescriptorGridEntry.cs
- DataGridLinkButton.cs
- CheckBoxField.cs
- GenericArgumentsUpdater.cs
- SeparatorAutomationPeer.cs
- SmiEventSink_Default.cs
- BookmarkOptionsHelper.cs
- ValidationErrorEventArgs.cs
- PeerCollaborationPermission.cs
- Marshal.cs
- KnownAssembliesSet.cs
- _TimerThread.cs
- MailDefinition.cs
- ScriptIgnoreAttribute.cs
- DbReferenceCollection.cs
- SystemException.cs
- X509CertificateCollection.cs
- SqlConnectionPoolGroupProviderInfo.cs
- MexNamedPipeBindingCollectionElement.cs
- LocalizationParserHooks.cs
- KeyFrames.cs
- InvokeMethod.cs
- COAUTHINFO.cs
- ElapsedEventArgs.cs
- MessageQueueTransaction.cs
- MethodRental.cs