silverlight的执行顺序很奇怪

silverlight的执行顺序很奇怪,silverlight,xaml,execution,Silverlight,Xaml,Execution,我想要一个登录表单,用户通过它输入用户名和密码,如果它是正确的,那么它将检查首次登录,如果用户首次登录,那么页面shd重定向以更改密码表单我想在silverlight中实现这一点我使用wcf服务来编写代码,所以我的逻辑是我在会话中存储用户名,然后我重定向到更改密码表单,但有时它首先存储用户名,然后重定向到更改密码表单,这是正确的,但下一次如果我执行相同的表单,那么它首先重定向到更改密码表单,然后它设置用户名会话,所以即使用户名是正确的,它重定向到登录表单请帮助我,这让我疯狂。 这是我的密码 ge

我想要一个登录表单,用户通过它输入用户名和密码,如果它是正确的,那么它将检查首次登录,如果用户首次登录,那么页面shd重定向以更改密码表单我想在silverlight中实现这一点我使用wcf服务来编写代码,所以我的逻辑是我在会话中存储用户名,然后我重定向到更改密码表单,但有时它首先存储用户名,然后重定向到更改密码表单,这是正确的,但下一次如果我执行相同的表单,那么它首先重定向到更改密码表单,然后它设置用户名会话,所以即使用户名是正确的,它重定向到登录表单请帮助我,这让我疯狂。 这是我的密码

gen.SetSessionVariableAsync(“uname”,username.Text); App.Navigate(新的UserMgt.Changepassword())

所以理想情况下,第一行应该执行第一行,第二行执行第二行,但在这里,有时是第一次编译,有时是第二次编译

所以首先我设置会话变量,然后我想重定向它到更改密码页面,但有时它是正确的,但有时它首先重定向到更改密码,然后设置会话变量为什么是这样的?顺序有什么问题


请让我知道silverlight执行句子的顺序。任何帮助都将是非常合适的。您可以在foramparikh8884@gmail.com同样如此。

因为SetSessionVariableAsync()方法是异步的,所以无法保证它何时完成。如果必须先完成,请在第一个方法的已完成事件中触发第二个方法。

您无法按照编写代码的顺序完成异步操作。按顺序工作的方法是在异步方法上使用完成的事件,然后在异步方法中执行以下方法,如下所示:

gen.SetSessionVariableAsync("uname", username.Text).Complete((o,e)=>
{
   App.Navigate(new UserMgt.Changepassword());
});
注意,我在上面的代码片段中使用lambda表达式