Condividi tramite


RemoteSystemSessionController Classe

Definizione

Gestisce la creazione e la gestione di una nuova sessione remota per l'aggiunta di altri dispositivi.

public ref class RemoteSystemSessionController sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.System.RemoteSystems.IRemoteSystemSessionControllerFactory, 262144, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RemoteSystemSessionController final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.RemoteSystems.IRemoteSystemSessionControllerFactory), 262144, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RemoteSystemSessionController
function RemoteSystemSessionController(displayName, options)
Public NotInheritable Class RemoteSystemSessionController
Ereditarietà
Object Platform::Object IInspectable RemoteSystemSessionController
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 Creators Update (è stato introdotto in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v4.0)
Funzionalità dell'app
remoteSystem

Esempio

Per un esempio di come creare una sessione remota e gestire le richieste di join, vedere il codice seguente.

public async void StartNewSharedExperience() {

    var manager = new RemoteSystemSessionController("Bob’s Minecraft game");

    // register the following code to handle the JoinRequested event
    manager.JoinRequested += async (sender, args) => {
        // Get the deferral
        var deferral = args.GetDeferral();

        // display the participant (args.JoinRequest.Participant) on UI, giving the 
        // user an opportunity to respond
        // ...

        // If the user chooses "accept", accept this remote system as a participant
        args.JoinRequest.Accept();
    };

    // create and start the session
    RemoteSystemSessionCreationResult createResult = await manager.CreateSessionAsync();

    // handle the creation result
    if (createResult.Status == RemoteSystemSessionCreationStatus.Success) {
        // creation was successful
        RemoteSystemSession currentSession = createResult.Session;

        // optionally subscribe to the disconnection event
        currentSession.Disconnected += async (sender, args) => {
            // update the UI, using args.Reason
            // ...
        };

        // Use session ...

    } else if (createResult.Status == RemoteSystemSessionCreationStatus.SessionLimitsExceeded) {
        // creation failed. Optionally update UI to indicate that there are too many sessions in progress
    } else {
        // creation failed for an unknown reason. Optionally update UI
    }
}

Commenti

Ogni sessione remota ha un partecipante che è il controller della sessione. Solo il controller può specificare le opzioni per la sessione, accettare richieste di join dai partecipanti e rimuovere i partecipanti dalla sessione.

Importante

È necessario confermare l'accesso alla piattaforma di sistema remota con una chiamata a RemoteSystem.RequestAccessAsync prima di creare un'istanza di questa classe.

Costruttori

RemoteSystemSessionController(String)

Inizializza remoteSystemSessionController con un nome visualizzato personalizzato.

RemoteSystemSessionController(String, RemoteSystemSessionOptions)

Inizializza remoteSystemSessionController con un nome visualizzato personalizzato e le opzioni specificate.

Metodi

CreateSessionAsync()

Tenta in modo asincrono di creare una sessione remota.

RemoveParticipantAsync(RemoteSystemSessionParticipant)

Rimuove un partecipante dalla sessione remota.

Eventi

JoinRequested

Generato ogni volta che un altro dispositivo ha individuato e richiesto l'accesso alla sessione remota gestita da remoteSystemSessionController.

Si applica a