Bagikan melalui


User.NonRoamableId Properti

Definisi

Mendapatkan id pengguna yang tidak dapat dirutekan.

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

Nilai Properti

String

Platform::String

winrt::hstring

Id pengguna yang tidak dapat dirutekan.

Contoh

Contoh ini menunjukkan cara menyimpan NonRoamableId saat aplikasi ditangguhkan, lalu mendapatkan NonRoamableId saat aplikasi diaktifkan. NonRoamableId kemudian digunakan untuk mengambil objek Pengguna, yang ditetapkan sebagai pengguna saat ini. Kode ini ditempatkan di App.xaml.cs, dan kode asing telah dihapus.

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

Keterangan

Di aplikasi multi-pengguna, Anda mungkin perlu mengingat pengguna apa yang bekerja dengan aplikasi sebelum aplikasi dinonaktifkan atau ditangguhkan. Anda dapat menyimpan NonRoamableId, lalu menggunakannya sebagai kunci untuk mengambil objek pengguna lagi pada aktivasi (lihat User.GetFromId).

NonRoamableId untuk objek pengguna adalah string yang unik untuk perangkat, aplikasi, dan pengguna. Ini tidak dapat menjelajah ke perangkat lain atau aplikasi lain. Selain itu, jika pengguna masuk dari jarak jauh, menghasilkan nilai User.Type yang berbeda, NonRoamableId berbeda.

Berlaku untuk