PeerNameRegistration.Start Method ()


Registers the PeerName into the Cloud. If no EndPointCollection is specified, automatic address selection is used with the port value specified by the Port property.

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

public void Start()

Exception Condition

The PeerName property is set to null.


This object had Dispose() called on it previously.

  • The PeerName specified has already been registered. The Update method must be used to update a registration.

  • The remote peer does not own the Authority for the PeerName specified.

  • Either the PeerName or the Data is not specified; at least one needs to be provided.

  • The message or data elements are invalid. Or, UseAutoEndPointSelection is not set and no data blob or IPEndPoint is specified.

The method registers the peer name specified in the PeerName property with all source addresses and the Port specified in the constructor. The default port is used by this method only when no endpoints are specified.

If the Cloud property is null, this method registers the peer name specified in the PeerName property using the Available field, which initializes default values for the Name, Scope, and ScopeId.

After a PeerNameRegistration object has been started, the Stop method is used to stop it.

To update a registration, the Update method must be used.

The following code example creates a PeerName and registers it along with the metadata specified.

// Creates a PeerName and registers it along with the metadata specified 
// The parameters used to register the name are static types that are set 
// from user input (command-line or user dialog).
// These parameters include the following:
//   static String peerName
//   static PeerNameType peerNameType
//   static int portNumber
//   static String comment
//   static Cloud cloudName 

public static void CreateAndPublishPeerName()
        // Creates a the PeerName to register using the classifier and type provided 
        PeerName peerName = new PeerName(peerNameClassifier, peerNameType);

        // Create a registration object which represents the registration 
        // of the PeerName in a Cloud
        PeerNameRegistration peerNameRegistration = new PeerNameRegistration();
        peerNameRegistration.PeerName = peerName;
        peerNameRegistration.Port = portNumber;
        peerNameRegistration.Comment = comment;
        peerNameRegistration.Cloud = cloudName;
        // Since the peerNameRegistration.EndPointCollection is not specified, 
        // all (IPv4&IPv6) addresses assigned to the local host will 
        // automatically be associated with the peerNameRegistration instance. 
        // This behavior can be control using peerNameRegistration.UseAutoEndPointSelection

        //Note: Additional information may be specified on the PeerNameRegistration 
        // object, which is not shown in this example.

        // Starting the registration means the name is published for 
        // other peers to resolve
        Console.WriteLine("Registration of Peer Name: {0} complete.", peerName.ToString(), cloudName);

        Console.WriteLine("Press any key to stop the registration and close the program");

        // Stopping the registration means the name is no longer published
    } catch(Exception e){
        Console.WriteLine("Error creating and registering the PeerName: {0} \n", e.Message);

.NET Framework
Available since 3.5
Return to top