RemoteSystemSessionController Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |