Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / DiscoveryClientDuplexChannel.cs / 1305376 / DiscoveryClientDuplexChannel.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System; using System.ServiceModel; using System.ServiceModel.Channels; class DiscoveryClientDuplexChannel: DiscoveryClientOutputChannel , IDuplexChannel where TChannel : class, IDuplexChannel { public DiscoveryClientDuplexChannel( ChannelManagerBase channelManagerBase, IChannelFactory innerChannelFactory, FindCriteria findCriteria, DiscoveryEndpointProvider discoveryEndpointProvider) : base(channelManagerBase, innerChannelFactory, findCriteria, discoveryEndpointProvider) { } public EndpointAddress LocalAddress { get { if (this.InnerChannel == null) { return DiscoveryClientBindingElement.DiscoveryEndpointAddress; } return this.InnerChannel.LocalAddress; } } public override IAsyncResult BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, object state) { this.EnsureReplyTo(message); return base.BeginSend(message, timeout, callback, state); } public override void Send(Message message, TimeSpan timeout) { this.EnsureReplyTo(message); base.Send(message, timeout); } public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state) { return this.InnerChannel.BeginReceive(timeout, callback, state); } public IAsyncResult BeginReceive(AsyncCallback callback, object state) { return this.InnerChannel.BeginReceive(callback, state); } public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state) { return this.InnerChannel.BeginTryReceive(timeout, callback, state); } public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state) { return this.InnerChannel.BeginWaitForMessage(timeout, callback, state); } public Message EndReceive(IAsyncResult result) { return this.InnerChannel.EndReceive(result); } public bool EndTryReceive(IAsyncResult result, out Message message) { return this.InnerChannel.EndTryReceive(result, out message); } public bool EndWaitForMessage(IAsyncResult result) { return this.InnerChannel.EndWaitForMessage(result); } public Message Receive(TimeSpan timeout) { return this.InnerChannel.Receive(timeout); } public Message Receive() { return this.InnerChannel.Receive(); } public bool TryReceive(TimeSpan timeout, out Message message) { return this.InnerChannel.TryReceive(timeout, out message); } public bool WaitForMessage(TimeSpan timeout) { return this.InnerChannel.WaitForMessage(timeout); } void EnsureReplyTo(Message message) { if (message != null && message.Headers != null) { if (message.Headers.ReplyTo == DiscoveryClientBindingElement.DiscoveryEndpointAddress) { message.Headers.ReplyTo = this.LocalAddress; } } } } } // 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
- CheckedPointers.cs
- Point.cs
- PingReply.cs
- TextTreeRootTextBlock.cs
- DataGridCellAutomationPeer.cs
- prefixendpointaddressmessagefilter.cs
- SamlConditions.cs
- Certificate.cs
- RSAProtectedConfigurationProvider.cs
- ProcessProtocolHandler.cs
- Roles.cs
- MarshalByRefObject.cs
- InputScope.cs
- DataFieldConverter.cs
- SafeTokenHandle.cs
- DefaultParameterValueAttribute.cs
- ByteStorage.cs
- XmlSchemaType.cs
- ProgressBarRenderer.cs
- WebControl.cs
- CodeDelegateInvokeExpression.cs
- StylusPointDescription.cs
- ObjectContextServiceProvider.cs
- InProcStateClientManager.cs
- ServiceActivationException.cs
- ExpressionLink.cs
- BuildResult.cs
- HtmlTableRow.cs
- SuppressMergeCheckAttribute.cs
- BamlResourceDeserializer.cs
- BrushConverter.cs
- DatePickerAutomationPeer.cs
- HotSpot.cs
- HtmlTextArea.cs
- InvalidChannelBindingException.cs
- DBPropSet.cs
- Size3DValueSerializer.cs
- Stream.cs
- SignedPkcs7.cs
- Soap12ProtocolReflector.cs
- Highlights.cs
- HandlerBase.cs
- UnitySerializationHolder.cs
- AddIn.cs
- _SpnDictionary.cs
- PagerSettings.cs
- BitConverter.cs
- _AuthenticationState.cs
- RootBrowserWindowProxy.cs
- WriteStateInfoBase.cs
- Missing.cs
- MatrixAnimationBase.cs
- ToolBarPanel.cs
- FaultDesigner.cs
- OperationCanceledException.cs
- GridViewUpdatedEventArgs.cs
- ExpressionWriter.cs
- Base64Encoder.cs
- TaskHelper.cs
- EventTrigger.cs
- sqlpipe.cs
- BitmapEffectGroup.cs
- WindowsRebar.cs
- Deflater.cs
- ValueTypeFieldReference.cs
- UnorderedHashRepartitionStream.cs
- BroadcastEventHelper.cs
- QilName.cs
- CodeTypeConstructor.cs
- DataBoundLiteralControl.cs
- XmlSchemaSimpleContent.cs
- NumberAction.cs
- Triangle.cs
- Query.cs
- ModulesEntry.cs
- TextViewSelectionProcessor.cs
- DataTableMappingCollection.cs
- GraphicsPathIterator.cs
- Types.cs
- Container.cs
- Wow64ConfigurationLoader.cs
- VisualCollection.cs
- AppSettingsExpressionBuilder.cs
- WaitHandle.cs
- _AuthenticationState.cs
- EntityCommandExecutionException.cs
- UIPermission.cs
- UserControlParser.cs
- MetadataItem.cs
- EncodingConverter.cs
- CodeArgumentReferenceExpression.cs
- SortKey.cs
- TextServicesLoader.cs
- SerializableAuthorizationContext.cs
- _TLSstream.cs
- TextTreeUndo.cs
- PersistenceProvider.cs
- PlainXmlSerializer.cs
- CustomErrorCollection.cs
- SqlGenerator.cs