PeerCollaboration.RegisterApplication Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует объект PeerApplication для сеанса совместной работы с вызывающим одноранговым узлом.
public:
static void RegisterApplication(System::Net::PeerToPeer::Collaboration::PeerApplication ^ application, System::Net::PeerToPeer::Collaboration::PeerApplicationRegistrationType type);
[System.Security.SecurityCritical]
public static void RegisterApplication (System.Net.PeerToPeer.Collaboration.PeerApplication application, System.Net.PeerToPeer.Collaboration.PeerApplicationRegistrationType type);
[<System.Security.SecurityCritical>]
static member RegisterApplication : System.Net.PeerToPeer.Collaboration.PeerApplication * System.Net.PeerToPeer.Collaboration.PeerApplicationRegistrationType -> unit
Public Shared Sub RegisterApplication (application As PeerApplication, type As PeerApplicationRegistrationType)
Параметры
- application
- PeerApplication
Объект PeerApplication, для которого регистрируется одноранговый узел в связанной области (локальной и глобальной).
Тип выполняемой регистрации. Приложение можно зарегистрировать только для вызывающего однорангового узла или для всех одноранговых узлов, использующих компьютер.
- Атрибуты
Исключения
Свойство Path объекта, передаваемого в PeerApplication ,
application
имеет значениеnull
.Предоставленный экземпляр однорангового приложения имеет такой же глобальный уникальный Id, как и уже зарегистрированное приложение. Перед регистрацией нового приложения с предоставленным идентификатором необходимо отменить имеющуюся регистрацию.
Параметры application
и type
не могут иметь значение null
. Необходимо указать оба параметра.
Для параметра типа не задано известное значение в перечислении PeerApplicationRegistrationType.
Завершение операции RegisterApplication(PeerApplication, PeerApplicationRegistrationType) невозможно, пока вызывающий объект не войдет в инфраструктуру.
Примеры
В следующем примере кода показано, как зарегистрировать приложение в инфраструктуре совместной работы:
// Registering Notepad.exe as a collab application with a fixed GUID.
// Note: If you're using the application to send invitations,
// the same application with the same GUID must be registered on the remote peer machine.
private static PeerApplication RegisterCollabApp()
{
PeerApplication application = null;
string pathToApp = "%SystemRoot%\\notepad.exe";
Guid appGuid = new Guid(0xAAAAAAAA, 0xFADE, 0xDEAF, 0xBE, 0xEF, 0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAE);
application = new PeerApplication();
application.Id = appGuid;
application.Path = pathToApp;
application.Description = "Peer Collaboration Sample -- notepad.exe";
application.PeerScope = PeerScope.All;
application.CommandLineArgs = "n";
application.Data = ASCIIEncoding.ASCII.GetBytes("Test");
Console.WriteLine("Attempting to register the application \"notepad.exe\"...");
try
{
PeerApplicationCollection pac = PeerCollaboration.GetLocalRegisteredApplications(PeerApplicationRegistrationType.AllUsers);
if (pac.Contains(application))
{
Console.WriteLine("The application is already registered on the peer.");
}
else
{
PeerCollaboration.RegisterApplication(application, PeerApplicationRegistrationType.AllUsers);
Console.WriteLine("Application registration succeeded!");
}
}
catch (ArgumentException argEx)
{
Console.WriteLine("The application was previously registered with the Peer Collaboration Infrastructure: {0}.", argEx.Message);
}
catch (PeerToPeerException p2pEx)
{
Console.WriteLine("The application failed to register with the Peer Collaboration Infrastructure: {0}", p2pEx.Message);
}
catch (Exception ex)
{
Console.WriteLine("An unexpected exception occurred when trying to register the application: {0}.", ex.Message);
}
return application;
}
Комментарии
Вызывающий одноранговый узел должен войти в инфраструктуру совместной работы одноранговых узлов с SignIn помощью метода перед вызовом этого метода.
Для доступа к этому методу требуется .PermissionStateUnrestricted Это состояние создается при запуске сеанса Peer совместной работы.