Freigeben über


User.NonRoamableId Eigenschaft

Definition

Ruft die nicht roamierbare ID des Benutzers ab.

public:
 property Platform::String ^ NonRoamableId { Platform::String ^ get(); };
winrt::hstring NonRoamableId();
public string NonRoamableId { get; }
var string = user.nonRoamableId;
Public ReadOnly Property NonRoamableId As String

Eigenschaftswert

String

Platform::String

winrt::hstring

Die nicht roamierbare ID des Benutzers.

Beispiele

In diesem Beispiel wird gezeigt, wie Sie die NonRoamableId speichern, wenn eine App angehalten wird, und dann die NonRoamableId abrufen, wenn die App aktiviert ist. Die NonRoamableId wird dann verwendet, um das User-Objekt abzurufen, das als aktueller Benutzer festgelegt ist. Dieser Code wird in App.xaml.cs platziert, und fremder Code wurde entfernt.

User ActiveUser = null;

protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
    // ... code removed ...

        if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
        {
            //TODO: Load state from previously suspended application
            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            if (localSettings.Values.ContainsKey("previousUser"))
            {
                var previousId = (string)localSettings.Values["previousUser"];
                ActiveUser = User.GetFromId(previousId);
            }
            else
            {
                IReadOnlyList<User> users = await Windows.System.User.FindAllAsync();
                ActiveUser = users[0];
            }
        }

    // ... code removed ...
}

private void OnSuspending(object sender, SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
    //TODO: Save application state and stop any background activity

    // If the user is authenticated and not a guest, save the  
    // NonRoamableId so we can retrieve this specific user later. 
    var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

    if (ActiveUser != null &&
       (ActiveUser.AuthenticationStatus != UserAuthenticationStatus.Unauthenticated) &&
       (ActiveUser.Type == UserType.LocalUser || ActiveUser.Type == UserType.RemoteUser))
    {
        localSettings.Values.Add("previousUser", ActiveUser.NonRoamableId);
    }
    else
    {
        if (localSettings.Values.ContainsKey("previousUser"))
        {
            localSettings.Values.Remove("previousUser");
        }
    }

    deferral.Complete();
}

Hinweise

In einer Mehrbenutzer-App müssen Sie sich möglicherweise daran erinnern, mit welchem Benutzer die App gearbeitet hat, bevor die App deaktiviert oder angehalten wurde. Sie können die NonRoamableId speichern und dann als Schlüssel verwenden, um das Benutzerobjekt bei der Aktivierung erneut abzurufen (siehe User.GetFromId).

Die NonRoamableId für ein Benutzerobjekt ist eine Zeichenfolge, die für das Gerät, die App und den Benutzer eindeutig ist. Es kann nicht auf andere Geräte oder andere Apps übertragen werden. Wenn sich der Benutzer remote anmeldet, was zu einem anderen User.Type-Wert führt, ist die NonRoamableId außerdem anders.

Gilt für: