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
- RemotingAttributes.cs
- SqlDataSourceStatusEventArgs.cs
- HttpFileCollection.cs
- UpdateDelegates.Generated.cs
- ViewValidator.cs
- CmsInterop.cs
- Matrix.cs
- FullTextLine.cs
- ReadingWritingEntityEventArgs.cs
- DynamicValueConverter.cs
- AttachmentService.cs
- SrgsRulesCollection.cs
- BindableAttribute.cs
- EdmTypeAttribute.cs
- WebServiceData.cs
- MenuItemBinding.cs
- Win32Exception.cs
- WeakEventTable.cs
- PreloadedPackages.cs
- AppDomainAttributes.cs
- DropShadowBitmapEffect.cs
- ListSurrogate.cs
- DPCustomTypeDescriptor.cs
- WebCodeGenerator.cs
- FirewallWrapper.cs
- mediapermission.cs
- XmlTextReaderImpl.cs
- BufferModeSettings.cs
- RowUpdatingEventArgs.cs
- SecurityAccessDeniedException.cs
- UIPermission.cs
- Frame.cs
- SettingsContext.cs
- GlyphsSerializer.cs
- GeometryHitTestParameters.cs
- Tablet.cs
- DLinqAssociationProvider.cs
- CellPartitioner.cs
- KeyValueConfigurationCollection.cs
- QuaternionValueSerializer.cs
- DefaultAuthorizationContext.cs
- DataServiceProviderMethods.cs
- RSAOAEPKeyExchangeFormatter.cs
- DrawingAttributes.cs
- FormattedTextSymbols.cs
- ArrangedElement.cs
- SqlParameterizer.cs
- ExpressionConverter.cs
- TransactionCache.cs
- ServerValidateEventArgs.cs
- TableColumn.cs
- LoginCancelEventArgs.cs
- ResourceContainer.cs
- WriteLine.cs
- InternalsVisibleToAttribute.cs
- Accessible.cs
- MappingModelBuildProvider.cs
- AnnouncementEventArgs.cs
- CompModHelpers.cs
- HttpCacheVaryByContentEncodings.cs
- ScrollItemPattern.cs
- GenerateTemporaryAssemblyTask.cs
- HttpDictionary.cs
- XmlException.cs
- SessionStateUtil.cs
- MenuAutomationPeer.cs
- SqlMethodAttribute.cs
- ResourceExpression.cs
- GridProviderWrapper.cs
- ApplicationInfo.cs
- XmlSchemaInclude.cs
- DesignerProperties.cs
- XmlSchemaGroupRef.cs
- WebEventCodes.cs
- ActivityCodeDomSerializer.cs
- DataGridViewImageColumn.cs
- WebProxyScriptElement.cs
- DataBoundControlAdapter.cs
- TableProviderWrapper.cs
- Decoder.cs
- InfoCardUIAgent.cs
- EndOfStreamException.cs
- DbProviderConfigurationHandler.cs
- AsynchronousChannelMergeEnumerator.cs
- DataShape.cs
- storepermissionattribute.cs
- EncodingNLS.cs
- OracleMonthSpan.cs
- PointLightBase.cs
- ConfigurationProperty.cs
- BuildDependencySet.cs
- NavigatingCancelEventArgs.cs
- ControlIdConverter.cs
- XsdBuilder.cs
- NavigationCommands.cs
- _UriSyntax.cs
- HtmlImageAdapter.cs
- StrongTypingException.cs
- BehaviorEditorPart.cs
- XPathDocument.cs