Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / UdpContractFilterBehavior.cs / 1305376 / UdpContractFilterBehavior.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System.Runtime; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; using System.ServiceModel.Channels; // This behavior sets the contract filter and unhandled operation invoker in the dispatch // runtime to avoid contract filter mismatch exceptions raised by runtime during normal operation. // Since the different discovery messages from different versions are sent over the same multicast // address and port, it is normal for an endpoint to receive the messages that are not matching // its contract. This behavior is only added to UdpDiscoveryEndpoint and UdpAnnouncementEndpoint. class UdpContractFilterBehavior : IEndpointBehavior { public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { } public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { } public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { if (endpointDispatcher == null) { throw FxTrace.Exception.ArgumentNull("endpointDispatcher"); } endpointDispatcher.ContractFilter = new MatchAllMessageFilter(); endpointDispatcher.DispatchRuntime.UnhandledDispatchOperation.Invoker = new UnhandledActionOperationInvoker(); } public void Validate(ServiceEndpoint endpoint) { } class UnhandledActionOperationInvoker : IOperationInvoker { public bool IsSynchronous { get { return true; } } public object[] AllocateInputs() { return EmptyArray.Allocate(1); } public object Invoke(object instance, object[] inputs, out object[] outputs) { outputs = EmptyArray.Allocate(0); return null; } public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state) { throw FxTrace.Exception.AsError(new NotImplementedException()); } public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result) { throw FxTrace.Exception.AsError(new NotImplementedException()); } } } } // 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
- CompositeFontFamily.cs
- HtmlInputImage.cs
- DefaultWorkflowLoaderService.cs
- PersonalizationStateInfo.cs
- SafeSecurityHandles.cs
- SyntaxCheck.cs
- ChangeTracker.cs
- IODescriptionAttribute.cs
- Image.cs
- XMLDiffLoader.cs
- SecurityContext.cs
- RequiredFieldValidator.cs
- ImageCodecInfo.cs
- ClientData.cs
- XpsFilter.cs
- OutArgument.cs
- Timer.cs
- JournalEntry.cs
- CodeConstructor.cs
- EntityCommand.cs
- TableCellsCollectionEditor.cs
- CompensationHandlingFilter.cs
- Internal.cs
- RenderDataDrawingContext.cs
- OleDbTransaction.cs
- ILGenerator.cs
- InputScopeNameConverter.cs
- MatcherBuilder.cs
- WmfPlaceableFileHeader.cs
- TextRangeEditLists.cs
- MailWebEventProvider.cs
- CompositionAdorner.cs
- _ListenerAsyncResult.cs
- DataGridViewCellStateChangedEventArgs.cs
- Parsers.cs
- GridViewAutomationPeer.cs
- WsdlInspector.cs
- UIElementIsland.cs
- CompiledELinqQueryState.cs
- InertiaTranslationBehavior.cs
- BaseParser.cs
- TextView.cs
- PrimitiveXmlSerializers.cs
- DbConnectionPoolGroupProviderInfo.cs
- TextViewBase.cs
- CursorConverter.cs
- DictionaryBase.cs
- AdornedElementPlaceholder.cs
- ZipIOExtraField.cs
- CodeExpressionRuleDeclaration.cs
- ContainerTracking.cs
- ComboBox.cs
- SqlDesignerDataSourceView.cs
- Vector.cs
- QueryOperatorEnumerator.cs
- EventLog.cs
- MemoryStream.cs
- PageSettings.cs
- CollectionsUtil.cs
- GetFileNameResult.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- ExpressionLink.cs
- Lasso.cs
- ServicePointManagerElement.cs
- _FixedSizeReader.cs
- ResourceDisplayNameAttribute.cs
- WebPartMovingEventArgs.cs
- OleDbConnectionFactory.cs
- DesignSurfaceManager.cs
- RowToParametersTransformer.cs
- MethodImplAttribute.cs
- WindowsSysHeader.cs
- TagMapCollection.cs
- SmiTypedGetterSetter.cs
- DriveNotFoundException.cs
- MaskInputRejectedEventArgs.cs
- ACL.cs
- HelpFileFileNameEditor.cs
- HttpServerProtocol.cs
- InputReportEventArgs.cs
- ColorInterpolationModeValidation.cs
- TypeValidationEventArgs.cs
- RegexRunnerFactory.cs
- ByteAnimation.cs
- InfoCardMasterKey.cs
- PasswordDeriveBytes.cs
- EntityParameterCollection.cs
- RootDesignerSerializerAttribute.cs
- LogWriteRestartAreaState.cs
- ScaleTransform3D.cs
- InvokeGenerator.cs
- UnsafeNativeMethods.cs
- DataGridViewComboBoxColumn.cs
- QueryCacheKey.cs
- UnionCodeGroup.cs
- Brushes.cs
- ReceiveMessageRecord.cs
- MissingSatelliteAssemblyException.cs
- DataGridViewButtonColumn.cs
- CodeDelegateInvokeExpression.cs