Partilhar via


User.NonRoamableId Propriedade

Definição

Obtém a ID não móvel do usuário.

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

Valor da propriedade

String

Platform::String

winrt::hstring

A ID não móvel do usuário.

Exemplos

Este exemplo mostra como salvar NonRoamableId quando um aplicativo é suspenso e, em seguida, obter NonRoamableId quando o aplicativo é ativado. O NonRoamableId é usado para recuperar o objeto User, que é definido como o usuário atual. Esse código é colocado em App.xaml.cs e o código incorreto foi removido.

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();
}

Comentários

Em um aplicativo de vários usuários, talvez seja necessário lembrar com qual usuário o aplicativo estava trabalhando antes de o aplicativo ser desativado ou suspenso. Você pode salvar NonRoamableId e usá-lo como uma chave para recuperar o objeto de usuário novamente na ativação (consulte User.GetFromId).

O NonRoamableId para um objeto de usuário é uma cadeia de caracteres exclusiva do dispositivo, aplicativo e usuário. Ele não pode fazer roaming para outros dispositivos ou outros aplicativos. Além disso, se o usuário fizer logon remotamente, resultando em um valor User.Type diferente, NonRoamableId será diferente.

Aplica-se a