如何让用户在会话之间保持不变?

时间:2009-06-09 11:32:22

标签: .net asp.net silverlight

我使用Silverlight业务应用程序(使用RIA服务的应用程序)。创建新项目。默认情况下全部设置。编译并运行它。在应用程序中我创建新用户。没关系。 然后我将一个chackbox添加到LoginWindow.xaml:

<CheckBox x:Name="isPersistent" Content="Remember me"/>

并修改LoginButton_Click方法。

    private void LoginButton_Click(object sender, RoutedEventArgs e)
    {
        SetEditableState(false);
        var parameters = new LoginParameters(loginUserNameBox.Text, 
                                             loginPasswordBox.Password, 
                                            (bool)isPersistent.IsChecked);
        UserService.Current.Login(parameters);
    }

但是当我登录并忘记“记住我”CheckBox时 - 用户在会话之间不会持续存在。

我做错了什么?如何让用户在会话之间保持持续?

3 个答案:

答案 0 :(得分:2)

对于Silverlight不太确定,但是,在ASP.NET中,您只需根据希望记住用户的天数设置cookie的过期天数。

詹姆斯。

答案 1 :(得分:1)

你看过IsolatedStorage了吗?如果你想使用cookies,那么这个帖子可能会有帮助。

http://silverlight.net/forums/p/11969/38621.aspx

答案 2 :(得分:0)

解决方案很简单: 默认情况下,Silverlight业务应用程序使用asp:Silverlight控件生成.aspx ria:SilverlightApplication。

所以,我添加.aspx:

<%@ Register Assembly="System.Web.Ria" 
 Namespace="System.Web.Ria" TagPrefix="ria" %>

并用

替换asp:Silverlight控件
<ria:SilverlightApplication ID="Silverlight1" runat="server"
Source="~/ClientBin/BusinessApplication1.xap" MinimumVersion="3.0.40305.0"
Width="100%" Height="100%" />

有效!