PeerNameRegistration.Start Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Registra o PeerName na Cloud. Se nenhuma EndPointCollection for especificada, a seleção automática de endereço será usada com o valor da porta especificado pela propriedade Port.
public:
void Start();
[System.Security.SecurityCritical]
public void Start ();
[<System.Security.SecurityCritical>]
member this.Start : unit -> unit
Public Sub Start ()
- Atributos
Exceções
A propriedade PeerName está definida como null
.
Este objeto tinha Dispose() chamado nele anteriormente.
O PeerName especificado já foi registrado. O método Update() deve ser usado para atualizar um registro.
O par remoto não possui a Authority para o PeerName especificado.
O PeerName ou Data não está especificado; pelo menos um deve ser fornecido.
Os elementos de dados ou da mensagem são inválidos. Ou UseAutoEndPointSelection não está definida e nenhum blob de dados ou IPEndPoint foi especificado.
Exemplos
O exemplo de código a seguir cria um PeerName e o registra junto com os metadados especificados.
// 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);
}
}
Comentários
O método registra o nome do par especificado na PeerName propriedade com todos os endereços de origem e o Port especificado no construtor. A porta padrão é usada por esse método somente quando nenhum ponto de extremidade é especificado.
Se a Cloud propriedade for null
, esse método registrará o nome do par especificado na PeerName propriedade usando o Available campo , que inicializa os valores padrão para , NameScopee ScopeId.
Depois que um PeerNameRegistration objeto é iniciado, o Stop método é usado para interrompê-lo.
Para atualizar um registro, o Update método deve ser usado.