Windows phone 7 在windows phone中保存当前用户会话
我正在开发windows phone应用程序。它需要用户登录。 在windows phone应用程序中成功登录后,我正在尝试保存当前用户会话 我正在使用Windows phone 7 在windows phone中保存当前用户会话,windows-phone-7,session,windows-phone-8,isolatedstorage,Windows Phone 7,Session,Windows Phone 8,Isolatedstorage,我正在开发windows phone应用程序。它需要用户登录。 在windows phone应用程序中成功登录后,我正在尝试保存当前用户会话 我正在使用IsolatedStorageSettings.ApplicationSettings保存当前用户会话 这是代码 LoginDO objLoginDO = default(LoginDO); if (dtbUserDetails != null) {
IsolatedStorageSettings.ApplicationSettings
保存当前用户会话
这是代码
LoginDO objLoginDO = default(LoginDO);
if (dtbUserDetails != null)
{
objLoginDO = new LoginDO(dtbUserDetails.UserID,
dtbUserDetails.FirstName,
dtbUserDetails.LastName,
dtbUserDetails.UserName,
dtbUserDetails.DisplayName,
Convert.ToDateTime("01/01/2010"),
"","", Convert.ToDateTime(DateTime.Now),
dtbUserDetails.MobileNumber,
dtbUserDetails.Location);
UserControlBaseClass u = new UserControlBaseClass();
//PhoneApplicationService.Current.State[u.LOGIN_DO] = objLoginDO;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings[u.LOGIN_DO] = objLoginDO;
settings.Save();
}
在这里,当编译器到达settings.Save()
错误
无法序列化类型“Demo.Classes.LoginDO”。考虑使用DATACONTractAttor属性对其进行标记,并标记要使用DATAMEMBAREATE属性序列化的所有成员。或者,您可以确保该类型是公共的,并且具有无参数构造函数-然后将序列化该类型的所有公共成员,并且不需要任何属性
我不明白为什么我会犯这个错误?有人能帮我解决这个错误吗?在应用程序设置中保存时,使用DataContractSerialiser来序列化对象,问题可能是您没有定义DataContractSerializer所需的无参数构造函数。只要加上一个,你就能解决你的问题 是否需要定义无参数构造函数。我刚刚从构造函数中删除了参数。我的问题解决了。如果你不想拥有一个无参数构造函数,那么你可以自己将类序列化为一个字符串,并将该字符串保存到AppSettings中,或者在清除我的deactivate会话值时,在类和每个属性的DataMember上添加DataContract属性。当我登录到应用程序时,我按下emulator的home键,然后我再次启动我的应用程序,所以那个时我无法重定向到我的主页。它将再次要求输入用户名和密码。重新启动应用程序时,PhoneApplicationService.Current.State将被清除,但不会被隔离存储设置。应用设置。