Bagikan melalui


PeerCollaboration.RegisterApplication Metode

Definisi

Mendaftarkan yang ditentukan PeerApplication untuk sesi kolaborasi dengan serekan panggilan.

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)

Parameter

application
PeerApplication

PeerApplication untuk mendaftarkan peering panggilan dalam cakupan terkait (global, lokal, dan link-local).

type
PeerApplicationRegistrationType

Jenis pendaftaran yang akan dilakukan. Aplikasi dapat didaftarkan hanya untuk serekan panggilan atau untuk semua rekan yang menggunakan komputer.

Atribut

Pengecualian

  • Properti Path pada objek yang diteruskan PeerApplication ke application adalah null.

  • Instans aplikasi serekan yang disediakan memiliki keunikan Id global yang sama dengan aplikasi yang sudah terdaftar. Pendaftaran yang ada harus tidak terdaftar sebelum aplikasi baru dapat didaftarkan dengan pengidentifikasi yang disediakan.

Parameter application dan type tidak boleh null. Kedua parameter harus ditentukan.

Parameter jenis tidak diatur ke nilai yang diketahui dalam PeerApplicationRegistrationType enumerasi.

Operasi RegisterApplication(PeerApplication, PeerApplicationRegistrationType) tidak dapat diselesaikan sampai pemanggil masuk ke infrastruktur.

Contoh

Contoh kode berikut menggambarkan cara mendaftarkan aplikasi dengan infrastruktur Kolaborasi:

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

Keterangan

Serekan panggilan diperlukan untuk masuk ke infrastruktur kolaborasi serekan dengan SignIn metode sebelum memanggil metode ini.

Akses ke metode ini memerlukan PermissionState dari Unrestricted. Status ini dibuat saat Peer sesi kolaborasi dimulai.

Berlaku untuk