PeerNameResolver.ResolveAsync Method (PeerName, Int32, Object)


Begins an asynchronous peer name resolution operation for the specified PeerName in all clouds known to the calling peer, returning no more than maxRecords entries for the peer name.

Namespace:   System.Net.PeerToPeer
Assembly:  System.Net (in System.Net.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public void ResolveAsync(
	PeerName peerName,
	int maxRecords,
	object userState


Type: System.Net.PeerToPeer.PeerName

The PeerName to resolve.

Type: System.Int32

The maximum number of records to obtain for the Peer Name.

Type: System.Object

A user-defined object that contains information about the resolve operation.

Exception Condition

One or both of the peerName and userState parameters are set to null.


The maxRecords parameter is less than or equal to zero.

This method asynchronously associates a peer name to clouds. All clouds are queried for the PeerName. For unsecured peer names, the same name can be registered (and associated with different endpoints) by different peers within the same cloud. If the peer name cannot be resolved or is null, an PeerToPeerException is thrown.

This method raises the ResolveCompleted event, which calls back to the OnResolveCompleted method. Or, it raises the ResolveProgressChanged event, which calls back to the OnResolveProgressChanged method.

For every ResolveAsync method, there is an equivalent Resolve method. Their parameter lists are identical, except that the ResolveAsync method includes a system token for asynchronous event handling, and the Resolve method is intended for synchronous processing.

All asynchronous references to the resolver object are coordinated with a unique identifier token Object. This userState token or message identifier allows an operating system to deliver a message to a single receiving process after the message has been placed on the message queue.

The ResolveCompleted event will be raised if the resolve operation completes in error or is canceled.

.NET Framework
Available since 3.5
Return to top