【发布时间】:2019-04-12 00:17:26
【问题描述】:
我必须在 App.xaml.cs 上添加功能才能使其正常工作。我在 OnStart 上添加了功能,但现在它会间歇性地一次又一次地让我退出应用程序。根据下面的代码,我需要做什么才能让它停止这样做。还是我的代码有问题。这是我最新的代码:
namespace MyApp
{
public partial class App : Application
{
DateTime _sessionStart;
public App()
{
InitializeComponent();
DatabaseManager = new DatabaseManager(new DatabaseService());
HttpManager = new HttpManager(new HTTPService());
MainPage = new NavigationPage(new LoginPage());
}
protected override void OnStart()
{
// Handle when your app starts
_sessionStart = DateTime.Now;
Device.StartTimer(TimeSpan.FromSeconds(60), () =>
{
// Check if 24 hours has elapsed
if (DateTime.Now > _sessionStart.AddHours(24))
{
//logout
MainPage = new NavigationPage(new LoginPage());
}
return true; // True = Repeat again, False = Stop the timer
});
}
protected override void OnSleep()
{
// Handle when your app sleeps
}
protected override void OnResume()
{
// Handle when your app resumes
}
}
【问题讨论】:
-
如果您尝试注销用户,那么他们可能拥有某种令牌或会话,这些令牌或会话持有他们当前已在登录中进行身份验证的事实。使用多种类型的令牌(如 JWT),您可以指定到期日期,以便令牌只能持续这么长时间。一般来说,前端应该提出一个新的请求,后端应该验证客户端仍然处于活动状态。如果不是,请通过拒绝其身份验证机制来注销客户端。
标签: c# xamarin.ios