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 необходимо использовать метод .