J'ai essayé de sérialiser cookie pour l'enregistrer et désérialiser à la prochaine fois que je commence mon application. Mais le résultat de désérialiser est vide. Qu'est-ce qui ne va pas?Comment sérialiser CookieContainer dans les applications wp7?
void SaveCookie() {
var appStorage = IsolatedStorageFile.GetUserStoreForApplication();
if (this.checkBox_save_passowrd.IsChecked == true)
{
CookieContainer cc = SEC_Services.Httprequest.cookie;
string fileName = "usercookie.xml";
using (var file = appStorage.OpenFile(fileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
{
using (var writer = new StreamWriter(file))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(CookieContainer));
xs.Serialize(writer, cc);
writer.Close();
}
}
}
else {
if (appStorage.FileExists("usercookie.xml"))
{
appStorage.DeleteFile("usercookie.xml");
}
}
}
void ReadCookie() {
var appStorage = IsolatedStorageFile.GetUserStoreForApplication();
if (appStorage.FileExists("usercookie.xml"))
{
using (System.IO.StreamReader reader = new StreamReader(appStorage.OpenFile("usercookie.xml", FileMode.Open)))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(CookieContainer));
CookieContainer obj = (CookieContainer)xs.Deserialize(reader);
reader.Close();
SEC_Services.Httprequest.cookie = obj;
if (obj.Count != 0) {
NavigationService.Navigate(new Uri("/PanoramaPage.xaml", UriKind.Relative));
}
}
}
}
Je trouve également ce simple C#: Writing a CookieContainer to Disk and Loading Back In For Use montre que CookieContainer pourrait être Serialize.But il n'y a pas SoapFormatter
dans la bibliothèque wp7
Il n'y a pas BinaryFormatter dans WP7 donc cette réponse n'est pas applicable aussi bien. –
Je n'étais pas au courant de ça! Essayez cette réponse: http://stackoverflow.com/a/1777234/1099131 – LucidObscurity