Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows应用商店应用程序中实现登录注销功能?_C#_Session_Windows Store Apps_Mobility - Fatal编程技术网

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

C# 如何在windows应用商店应用程序中实现登录注销功能?,c#,session,windows-store-apps,mobility,C#,Session,Windows Store Apps,Mobility,我需要在Windows应用商店应用程序中实现登录注销功能。我是流动性世界的新手。 我想知道,如何维护登录用户的会话。 如何在特定时间后实现自动注销功能。 Windows应用商店应用程序中是否存在类似ASP.NET的会话状态 我从以下链接了解到,WPF中没有会话状态: 其中一个答案建议对我们需要在应用程序内部全局存储和访问的值使用带有公共静态属性的静态类 对于登录Windows应用商店应用程序后必须使用的值,是否需要使用带有公共静态属性的静态类 请在回答时提供一些示例代码。这样如何 public

我需要在Windows应用商店应用程序中实现登录注销功能。我是流动性世界的新手。 我想知道,如何维护登录用户的会话。 如何在特定时间后实现自动注销功能。 Windows应用商店应用程序中是否存在类似ASP.NET的会话状态

我从以下链接了解到,WPF中没有会话状态:

其中一个答案建议对我们需要在应用程序内部全局存储和访问的值使用带有公共静态属性的静态类

对于登录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登录,而无需仅为您的应用程序创建另一个用户帐户。有一个很好的通用应用程序示例,它涵盖了除超时之外的几乎所有内容

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

一般来说,我会犹豫是否要实现这种超时功能,因为实际上没有一种轻松的方法来实现这种功能。快速思考您将需要实现计时器,并且可能需要为所有视图实现一个基类,该基类在调用计时器的任何事件时总是重置计时器


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

因此,我必须使用静态类(或静态属性)来存储登录用户的数据?谢谢!正如您所建议的,我使用计时器实现了自动注销功能。登录后,我创建了一个类的实例(使用单例模式),在该类中初始化计时器,并在每个页面上为(布局)网格的以下4个事件重置计时器:1)点击2)右点击3)按键移动4)点