1

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

我从以下链接得知 WPF 中没有会话状态:WPF 中的 会话?

答案之一建议使用具有公共静态属性的静态类来存储我们需要在应用程序内部全局存储和访问的值。

我是否需要使用具有公共静态属性的静态类来获取在 Windows Store App 中登录后必须使用的值?

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

4

2 回答 2

2

如果可能的话,我会看看 Azure 移动服务。它们提供身份验证后端,用户可以使用例如 Facebook 或 Twitter 登录登录,而无需仅为您的应用创建另一个用户帐户。https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users/有一个很好的通用应用示例除了超时之外的一切。

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

一般来说,我会犹豫是否要实现这样的超时功能,因为这样做并没有真正的简便方法。快速认为您需要实现计时器,也许还需要为所有视图实现一个基类,当它的任何事件被调用时,它总是重置计时器。

我建议您宁愿以这样的方式实现它,即当用户离开应用程序时,它会注销用户。在平板电脑和移动设备中,用户将应用程序长时间留在屏幕上的情况非常罕见,以至于操作系统不会暂停屏幕(和应用程序),或者用户导航到主屏幕或其他应用程序。

于 2015-07-03T07:33:14.367 回答
1

这种方式怎么样。

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();
    }
}
于 2015-07-03T05:36:25.847 回答