User.NonRoamableId 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取用户的不可漫游 ID。
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
属性值
用户的不可漫游 ID。
示例
此示例演示如何在应用暂停时保存 NonRoamableId,然后在激活应用时获取 NonRoamableId。 然后,使用 NonRoamableId 检索设置为当前用户的 User 对象。 此代码放置在 App.xaml.cs 中,并且已删除无关代码。
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();
}
注解
在多用户应用中,在取消激活或暂停应用之前,可能需要记住应用正在使用的用户。 可以保存 NonRoamableId,然后将其用作激活时再次检索用户对象的键 (请参阅 User.GetFromId) 。
用户对象的 NonRoamableId 是设备、应用和用户唯一的字符串。 它无法漫游到其他设备或其他应用。 此外,如果用户远程登录,导致不同的 User.Type 值,则 NonRoamableId 会有所不同。