PeerNameRegistration.Start Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
public:
void Start();
[System.Security.SecurityCritical]
public void Start ();
[<System.Security.SecurityCritical>]
member this.Start : unit -> unit
Public Sub Start ()
- Attributes
Exceptions
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.
Examples
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()
{
try{
// 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
peerNameRegistration.Start();
Console.WriteLine("Registration of Peer Name: {0} complete.", peerName.ToString(), cloudName);
Console.WriteLine();
Console.WriteLine("Press any key to stop the registration and close the program");
Console.ReadKey();
// Stopping the registration means the name is no longer published
peerNameRegistration.Stop();
} catch(Exception e){
Console.WriteLine("Error creating and registering the PeerName: {0} \n", e.Message);
Console.WriteLine(e.StackTrace);
}
}
Remarks
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.