Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Version11 / DiscoveryInnerClientManaged11.cs / 1305376 / DiscoveryInnerClientManaged11.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery.Version11 { using System; using System.ServiceModel; using System.ServiceModel.Channels; using System.Runtime; using System.ServiceModel.Description; class DiscoveryInnerClientManaged11 : ClientBase, IDiscoveryInnerClient { IDiscoveryInnerClientResponse responseReceiver; internal DiscoveryInnerClientManaged11(DiscoveryEndpoint discoveryEndpoint, IDiscoveryInnerClientResponse responseReceiver) : base(discoveryEndpoint) { Fx.Assert(responseReceiver != null, "The responseReceiver parameter cannot be null"); this.responseReceiver = responseReceiver; } public new ClientCredentials ClientCredentials { get { return base.ClientCredentials; } } public new ChannelFactory ChannelFactory { get { return base.ChannelFactory; } } public new IClientChannel InnerChannel { get { return base.InnerChannel; } } public new ServiceEndpoint Endpoint { get { return base.Endpoint; } } public ICommunicationObject InnerCommunicationObject { get { return this as ICommunicationObject; } } public bool IsRequestResponse { get { return true; } } public IAsyncResult BeginProbeOperation(FindCriteria findCriteria, AsyncCallback callback, object state) { ProbeMessage11 request = new ProbeMessage11(); request.Probe = FindCriteria11.FromFindCriteria(findCriteria); return base.Channel.BeginProbeOperation(request, callback, state); } public IAsyncResult BeginResolveOperation(ResolveCriteria resolveCriteria, AsyncCallback callback, object state) { ResolveMessage11 request = new ResolveMessage11(); request.Resolve = ResolveCriteria11.FromResolveCriteria(resolveCriteria); return base.Channel.BeginResolveOperation(request, callback, state); } public void EndProbeOperation(IAsyncResult result) { ProbeMatchesMessage11 response = base.Channel.EndProbeOperation(result); AsyncOperationContext context = (AsyncOperationContext)result.AsyncState; if ((response != null) && (response.ProbeMatches != null)) { this.responseReceiver.ProbeMatchOperation( context.OperationId, DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence), DiscoveryUtility.ToEndpointDiscoveryMetadataCollection(response.ProbeMatches), true); } else { this.responseReceiver.PostFindCompletedAndRemove(context.OperationId, false, null); } } public void EndResolveOperation(IAsyncResult result) { ResolveMatchesMessage11 response = base.Channel.EndResolveOperation(result); AsyncOperationContext context = (AsyncOperationContext)result.AsyncState; if ((response != null) && (response.ResolveMatches != null) && (response.ResolveMatches.ResolveMatch != null)) { this.responseReceiver.ResolveMatchOperation( context.OperationId, DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence), response.ResolveMatches.ResolveMatch.ToEndpointDiscoveryMetadata()); } else { this.responseReceiver.PostResolveCompletedAndRemove(context.OperationId, false, null); } } public void ProbeOperation(FindCriteria findCriteria) { ProbeMessage11 request = new ProbeMessage11(); request.Probe = FindCriteria11.FromFindCriteria(findCriteria); ProbeMatchesMessage11 response = base.Channel.ProbeOperation(request); if ((response != null) && (response.ProbeMatches != null)) { this.responseReceiver.ProbeMatchOperation( OperationContext.Current.IncomingMessageHeaders.RelatesTo, DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence), DiscoveryUtility.ToEndpointDiscoveryMetadataCollection(response.ProbeMatches), true); } else { this.responseReceiver.PostFindCompletedAndRemove(OperationContext.Current.IncomingMessageHeaders.RelatesTo, false, null); } } public void ResolveOperation(ResolveCriteria resolveCriteria) { ResolveMessage11 request = new ResolveMessage11(); request.Resolve = ResolveCriteria11.FromResolveCriteria(resolveCriteria); ResolveMatchesMessage11 response = base.Channel.ResolveOperation(request); if ((response != null) && (response.ResolveMatches != null) && (response.ResolveMatches.ResolveMatch != null)) { this.responseReceiver.ResolveMatchOperation( OperationContext.Current.IncomingMessageHeaders.RelatesTo, DiscoveryUtility.ToDiscoveryMessageSequenceOrNull(response.MessageSequence), response.ResolveMatches.ResolveMatch.ToEndpointDiscoveryMetadata()); } else { this.responseReceiver.PostResolveCompletedAndRemove(OperationContext.Current.IncomingMessageHeaders.RelatesTo, false, null); } } } } // 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
- PropertyGridCommands.cs
- SystemInfo.cs
- WsrmFault.cs
- MetadataSource.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- FormsAuthenticationConfiguration.cs
- XmlCharType.cs
- DataGridViewImageColumn.cs
- EpmCustomContentSerializer.cs
- MulticastNotSupportedException.cs
- FrameworkPropertyMetadata.cs
- BufferModeSettings.cs
- RemotingConfigParser.cs
- AgileSafeNativeMemoryHandle.cs
- EntityDataSourceColumn.cs
- ReadOnlyDataSource.cs
- PropertyConverter.cs
- GeometryDrawing.cs
- DataServiceProcessingPipelineEventArgs.cs
- Int16Converter.cs
- GlyphRunDrawing.cs
- Rotation3DKeyFrameCollection.cs
- DomNameTable.cs
- RIPEMD160.cs
- MissingMethodException.cs
- NotifyIcon.cs
- PropertyEmitterBase.cs
- XsdDateTime.cs
- ErrorFormatterPage.cs
- XmlAtomicValue.cs
- RuntimeConfigurationRecord.cs
- Vector3DCollection.cs
- CriticalFinalizerObject.cs
- CharConverter.cs
- DataGridView.cs
- SecurityIdentifierElementCollection.cs
- PeerNameRegistration.cs
- ImageFormatConverter.cs
- MemoryStream.cs
- StylusTip.cs
- SurrogateSelector.cs
- DefaultTypeArgumentAttribute.cs
- DataBindingsDialog.cs
- ScriptDescriptor.cs
- ApplicationInfo.cs
- ColorMap.cs
- MouseGestureConverter.cs
- MarkedHighlightComponent.cs
- UrlPath.cs
- EntryPointNotFoundException.cs
- ListenerElementsCollection.cs
- ObjectResult.cs
- TextServicesCompartment.cs
- CopyAction.cs
- SkinBuilder.cs
- Tokenizer.cs
- SystemIPInterfaceStatistics.cs
- XamlSerializationHelper.cs
- TextServicesCompartment.cs
- CustomValidator.cs
- HostedTransportConfigurationBase.cs
- DetailsViewDeletedEventArgs.cs
- SerializationSectionGroup.cs
- StringInfo.cs
- MouseDevice.cs
- AttributedMetaModel.cs
- ExecutionEngineException.cs
- XPathNodeList.cs
- PropertyFilter.cs
- Simplifier.cs
- DataSourceCacheDurationConverter.cs
- VerificationException.cs
- WebServiceTypeData.cs
- WebConfigurationManager.cs
- SchemaImporter.cs
- Mappings.cs
- DbXmlEnabledProviderManifest.cs
- RecoverInstanceLocksCommand.cs
- ProtocolsSection.cs
- WebPartDescription.cs
- TextSchema.cs
- DataGridClipboardCellContent.cs
- Overlapped.cs
- NotFiniteNumberException.cs
- XmlAttributeCache.cs
- CodeExpressionStatement.cs
- ChildrenQuery.cs
- TemplateGroupCollection.cs
- MediaElement.cs
- ObjectSelectorEditor.cs
- StrokeNodeOperations2.cs
- DataGridViewColumnEventArgs.cs
- MembershipUser.cs
- List.cs
- SystemGatewayIPAddressInformation.cs
- InitialServerConnectionReader.cs
- CreateParams.cs
- ExtensibleClassFactory.cs
- EventRouteFactory.cs
- DataServiceBuildProvider.cs