Поделиться через


PeerNameRegistration.Start Метод

Определение

Регистрирует PeerName в объекте Cloud. Если параметр EndPointCollection не указан, автоматический выбор адресов используется со значением порта, указанным в свойстве Port.

public:
 void Start();
[System.Security.SecurityCritical]
public void Start ();
[<System.Security.SecurityCritical>]
member this.Start : unit -> unit
Public Sub Start ()
Атрибуты

Исключения

Свойство PeerName имеет значение null.

Для этого объекта ранее вызывался метод Dispose().

  • Одноранговый узел, указанный с помощью параметра PeerName, уже зарегистрирован. Чтобы обновить регистрацию, необходимо использовать метод Update().

  • Удаленный одноранговый узел не является владельцем Authority для указанного узла PeerName.

  • Один из параметров (PeerName или Data) не указан. Необходимо указать по крайней мере один из них.

  • Сообщение или элементы данных являются недопустимыми. Параметр UseAutoEndPointSelection не задан, и большой двоичный объект данных или IPEndPoint не указан.

Примеры

В следующем примере кода создается PeerName и регистрируется вместе с указанными метаданными.

// 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);
    }
}

Комментарии

Метод регистрирует имя однорангового узла, указанное в свойстве PeerName , со всеми исходными адресами и Port указанным в конструкторе . Порт по умолчанию используется этим методом только в том случае, если конечные точки не указаны.

Cloud Если свойство имеет значение null, этот метод регистрирует имя однорангового узла, указанное PeerName в свойствеAvailable, с помощью поля , которое инициализирует значения по умолчанию для Name, Scopeи ScopeId.

PeerNameRegistration После запуска объекта для его остановки Stop используется метод .

Чтобы обновить регистрацию, Update необходимо использовать метод .

Применяется к