PeerCollaboration.RegisterApplication Metodo

Definizione

Registra l'oggetto PeerApplication specificato per una sessione di collaborazione con il peer chiamante.

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)

Parametri

application
PeerApplication

Oggetto PeerApplication per il quale registrare il peer chiamante all'interno dell'ambito associato (globale, locale e locale rispetto al collegamento).

type
PeerApplicationRegistrationType

Tipo di registrazione da eseguire. L'applicazione può essere registrata solo per il peer chiamante o per tutti i peer che usano il computer.

Attributi

Eccezioni

  • La Path proprietà sull'oggetto PeerApplication passato a application è null.

  • L'istanza dell'applicazione peer fornita ha la stessa proprietà Id univoca globale di un'applicazione già registrata. La registrazione esistente deve essere annullata prima che una nuova applicazione possa essere registrata con l'identificatore fornito.

I parametri application e type non possono essere null. Entrambi i parametri devono essere specificati.

Il parametro di tipo non è impostato su un valore noto nell'enumerazione PeerApplicationRegistrationType.

L'operazione RegisterApplication(PeerApplication, PeerApplicationRegistrationType) può essere completata solo dopo che il chiamante ha eseguito l'accesso all'infrastruttura.

Esempio

L'esempio di codice seguente illustra come registrare un'applicazione con l'infrastruttura di collaborazione:

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

Commenti

Il peer chiamante è necessario per accedere all'infrastruttura di collaborazione peer con il SignIn metodo prima di chiamare questo metodo.

L'accesso a questo metodo richiede .PermissionStateUnrestricted Questo stato viene creato all'inizio della sessione di Peer collaborazione.

Si applica a