User.NonRoamableId Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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.