我使用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时 - 用户在会话之间不会持续存在。
我做错了什么?如何让用户在会话之间保持持续?
答案 0 :(得分:2)
对于Silverlight不太确定,但是,在ASP.NET中,您只需根据希望记住用户的天数设置cookie的过期天数。
詹姆斯。
答案 1 :(得分:1)
你看过IsolatedStorage了吗?如果你想使用cookies,那么这个帖子可能会有帮助。
答案 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%" />
有效!