User.NonRoamableId 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得使用者不可漫遊的識別碼。
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 會不同。