2 using System.Collections.Generic;
3 using System.Collections.ObjectModel;
4 using System.ServiceModel;
5 using System.ServiceModel.Channels;
6 using System.ServiceModel.Description;
7 using System.ServiceModel.Dispatcher;
9 namespace System.ServiceModel.Discovery
12 public abstract class DiscoveryProxy
14 protected DiscoveryProxy ()
18 protected DiscoveryProxy (DiscoveryMessageSequenceGenerator messageSequenceGenerator)
22 protected DiscoveryProxy (DiscoveryMessageSequenceGenerator messageSequenceGenerator, int duplicateMessageHistoryLength)
26 protected virtual IAsyncResult BeginShouldRedirectFind (FindCriteria resolveCriteria, AsyncCallback callback, Object state)
28 throw new NotImplementedException ();
31 protected virtual IAsyncResult BeginShouldRedirectResolve (ResolveCriteria findCriteria, AsyncCallback callback, Object state)
33 throw new NotImplementedException ();
36 protected virtual bool EndShouldRedirectFind (IAsyncResult result, out Collection<EndpointDiscoveryMetadata> redirectionEndpoints)
38 throw new NotImplementedException ();
41 protected virtual bool EndShouldRedirectResolve (IAsyncResult result, out Collection<EndpointDiscoveryMetadata> redirectionEndpoints)
43 throw new NotImplementedException ();
46 protected abstract IAsyncResult OnBeginFind (FindRequestContext findRequestContext, AsyncCallback callback, Object state);
47 protected abstract IAsyncResult OnBeginOfflineAnnouncement (DiscoveryMessageSequence messageSequence, EndpointDiscoveryMetadata endpointDiscoveryMetadata, AsyncCallback callback, Object state);
48 protected abstract IAsyncResult OnBeginOnlineAnnouncement (DiscoveryMessageSequence messageSequence, EndpointDiscoveryMetadata endpointDiscoveryMetadata, AsyncCallback callback, Object state);
49 protected abstract IAsyncResult OnBeginResolve (ResolveCriteria resolveCriteria, AsyncCallback callback, Object state);
50 protected abstract void OnEndFind (IAsyncResult result);
51 protected abstract void OnEndOfflineAnnouncement (IAsyncResult result);
52 protected abstract void OnEndOnlineAnnouncement (IAsyncResult result);
53 protected abstract EndpointDiscoveryMetadata OnEndResolve (IAsyncResult result);