如何在 windows 商店应用程序中实现登录注销功能?

How to implement login-logout functionality in windows store app?

我需要在 Windows Store App 中实现登录-注销功能。我是移动领域的新手。 我想知道如何为登录用户维护会话。 如何在一定时间后实现自动注销功能。 Windows Store App中是否有类似ASP.NET的会话状态?

我从下面link了解到WPF中没有会话状态: Session in WPF?

其中一个答案建议将静态 class 和 public 静态属性用于我们需要在应用程序内部全局存储和访问的值。

我是否需要将静态 class 和 public 静态属性用于登录 Windows 商店应用程序后必须使用的值?

请提供一些示例代码和您的答案。

这样怎么样。

public class Session
{
    public String UserName { get; set; }

    public String Token { get; set; }
}

public class SessionManager
{
    private static Session _session; 

    public static Session CurrentSession
    {
        get
        {
            return _session;
        }
    }

    public static void Login(string username, string password)
    {
        // login the user
        _session = new Session();
    }
}

如果您的情况可行,我会看一下 Azure 移动服务。他们提供身份验证后端,用户可以在其中使用 Facebook 或 Twitter 登录名进行登录,而无需仅为您的应用程序创建另一个用户帐户。 https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users/ 上有一个很好的通用应用示例,它几乎涵盖了超时以外的所有内容。

如果您要登录到自己的自定义后端,我认为实现此类功能的一个好方法是使用上面的示例。

一般来说,我会犹豫是否要实现这样的超时功能,因为确实没有一种简单的方法可以做到这一点。很快想到您需要实现计时器,并且可能需要为所有视图实现一个基础 class,它总是在调用任何事件时重置计时器。

我建议您更愿意以这样的方式实现它,即当用户导航离开应用程序时,它会将用户注销。在平板电脑和移动设备中,很少有用户将应用程序留在屏幕上的时间过长,以至于 OS 不会暂停屏幕(和应用程序)或用户导航到主屏幕或某些屏幕其他应用。