Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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# 4.0 如果我未注销,如何继续使用windows phone应用程序?_C# 4.0_Windows Phone 8 - Fatal编程技术网

C# 4.0 如果我未注销,如何继续使用windows phone应用程序?

C# 4.0 如果我未注销,如何继续使用windows phone应用程序?,c#-4.0,windows-phone-8,C# 4.0,Windows Phone 8,如果尚未注销,如何继续使用windows phone应用程序 谢谢 private void btnlogin_Click(object sender, RoutedEventArgs e) { string uname = txtname.Text; string pwd = txtpwd.Password; IsolatedStorageSettings.ApplicationSettings[

如果尚未注销,如何继续使用windows phone应用程序

谢谢

    private void btnlogin_Click(object sender, RoutedEventArgs e)
        {
            string uname = txtname.Text;
            string pwd = txtpwd.Password;

            IsolatedStorageSettings.ApplicationSettings["Session"] = uname;
            IsolatedStorageSettings.ApplicationSettings.Save();

            NavigationService.Navigate(new Uri("/details.xaml?uname=" + txtname.Text + "&pwd=" + txtpwd.Password+ "", UriKind.RelativeOrAbsolute));
    }

您正在寻找持久性存储,一种即使用户退出应用程序也能持久的存储,我使用静态变量回答了您的最后一个问题,但静态变量在重新启动后不会持久,为此,您需要使用隔离旋转设置

样本存储和检索

 //storage, you shall do it on login, Just put a variable, maybe user name
 IsolatedStorageSettings.ApplicationSettings["Session"] = Name;
 IsolatedStorageSettings.ApplicationSettings.Save();

 //retrieval on every pages loaded or onnavigated to event to check for the session
 if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
 {
 var object= IsolatedStorageSettings.ApplicationSettings["Session"] as string;
 }
 else
 {
  //session expired
 }
 //Removal of session
 if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
 {
 IsolatedStorageSettings.ApplicationSettings.Remove("Session");
 IsolatedStorageSettings.ApplicationSettings.Save();
 }
现在,当您退出后进入应用程序时,在登录页面loaded/OnNavigatedTo事件中,只需进行如下检查

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
 if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
 {
  //Session exists
  //navigate to next page then
 }
 else
 {
  //session expired
 }
}
同样,您可以在IsolatedStorageSettings中存储完整的用户定义对象

也检查链接

在私有void InitializePhoneApplication()中的App.XAML中写下此代码, RootFrame.Navigating+=RootFrame_导航和
RootFrame.Navigated+=RootFrame\u Navigated

您从中注销了吗?不,如果我没有注销,并且在某个时候我按了windows键或退出应用程序,现在我希望无论何时启动应用程序,它都应该从该点继续。我不理解您的问题。您在哪里登录?好的,请参见:我运行应用程序并使用默认导航页面“Login.xaml”登录。现在在登录后,我得到了详细信息页面,现在我退出应用程序而不注销,我点击该应用程序,我希望该详细信息页面继续。谢谢那么,您希望在重新启动应用程序时被记录?(最后一次登录会话?)我应该在哪里编写此代码并感谢您的回复。当用户登录时,即当按下登录按钮时,您应该保存会话(前两行代码)。现在,保存此对象后,它不会被删除,除非您在代码中删除它或卸载应用程序。在按log out时,您应设置最后一个if条件,以删除会话对象。就是这样。是的,你做得很好,问题出在哪里了,但是每次我退出应用程序而不注销并单击应用程序,登录页面就会出现。谢谢!!您需要在登录时检查该值,然后执行相应的操作。只需检查我所做的编辑。
void RootFrame_Navigated(object sender, NavigationEventArgs e)
    {
        reset = (e.NavigationMode == NavigationMode.Reset);
    }


    void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
    {
        if (reset && e.IsCancelable && e.Uri.OriginalString == "/Login.xaml")
        {
            e.Cancel = true;
            reset = false;
        }
    }