Compartir a través de


RemoteSystemSessionController Clase

Definición

Controla la creación y administración de una nueva sesión remota para que otros dispositivos se unan.

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
Herencia
Object Platform::Object IInspectable RemoteSystemSessionController
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v4.0)
Características de aplicaciones
remoteSystem

Ejemplos

Consulte el código siguiente para obtener un ejemplo de cómo crear una sesión remota y controlar las solicitudes de combinación.

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

Comentarios

Cada sesión remota tiene un participante que es el controlador de la sesión. Solo el controlador puede especificar opciones para la sesión, aceptar solicitudes de unión de participantes y quitar participantes de la sesión.

Importante

Debe confirmar el acceso a la plataforma del sistema remoto con una llamada a RemoteSystem.RequestAccessAsync antes de crear una instancia de esta clase.

Constructores

RemoteSystemSessionController(String)

Inicializa un RemoteSystemSessionController con un nombre para mostrar personalizado.

RemoteSystemSessionController(String, RemoteSystemSessionOptions)

Inicializa un RemoteSystemSessionController con un nombre para mostrar personalizado y opciones especificadas.

Métodos

CreateSessionAsync()

Intenta crear una sesión remota de forma asincrónica.

RemoveParticipantAsync(RemoteSystemSessionParticipant)

Quita un participante de la sesión remota.

Eventos

JoinRequested

Se genera cada vez que otro dispositivo ha detectado y solicitado acceso a la sesión remota administrada por este RemoteSystemSessionController.

Se aplica a