通用 Windows 在 Xamarin Essentials 上使用安全存储时平台应用冻结
Universal Windows Platform app freezes when using Secure Storage on Xamarin Essentials
我正在使用 Xamarin Essentials 添加安全存储,但每次我尝试在通用 Windows 平台 (UWP) 上保存时,应用程序一直冻结(没有错误)。谁能解释一下为什么会结冰?
注意:我在 Android 设备上运行没有问题。
try
{
await SecureStorage.SetAsync("username", Username.Text);
await SecureStorage.SetAsync("password", Password.Text);
}
catch (Exception){}
根据此form,在 UWP 上使用安全存储之前不需要设置。
线程被锁定所以我不得不添加 Device.BeginInvokeOnMainThread
所以代码最终看起来像这样:
try
{
Device.BeginInvokeOnMainThread(async () =>{
await SecureStorage.SetAsync("username", Username.Text);
await SecureStorage.SetAsync("password", Password.Text);
});
}
catch (Exception){}
我有类似的问题。代码适用于 iOS 和 Android,但适用于 UWP(阻止应用程序)。 Understanding Async, Avoiding Deadlocks in C# 文章阐明了该问题。它解释了应用程序可能被阻止的原因,以及如何妥善处理它。
我正在使用 Xamarin Essentials 添加安全存储,但每次我尝试在通用 Windows 平台 (UWP) 上保存时,应用程序一直冻结(没有错误)。谁能解释一下为什么会结冰?
注意:我在 Android 设备上运行没有问题。
try
{
await SecureStorage.SetAsync("username", Username.Text);
await SecureStorage.SetAsync("password", Password.Text);
}
catch (Exception){}
根据此form,在 UWP 上使用安全存储之前不需要设置。
线程被锁定所以我不得不添加 Device.BeginInvokeOnMainThread
所以代码最终看起来像这样:
try
{
Device.BeginInvokeOnMainThread(async () =>{
await SecureStorage.SetAsync("username", Username.Text);
await SecureStorage.SetAsync("password", Password.Text);
});
}
catch (Exception){}
我有类似的问题。代码适用于 iOS 和 Android,但适用于 UWP(阻止应用程序)。 Understanding Async, Avoiding Deadlocks in C# 文章阐明了该问题。它解释了应用程序可能被阻止的原因,以及如何妥善处理它。