User.NonRoamableId Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает неперемездываемый идентификатор пользователя.
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
Значение свойства
Неперемегулируемый идентификатор пользователя.
Примеры
В этом примере показано, как сохранить 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 будет другим.