我有这样的独立存储功能写入到存储:独立存储不工作在Windows Phone应用程序
public static void WriteIsolatedStorage(object ObjectToStore, StorageType Key)
{
using (var storage = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication())
using (var storageFile = storage.CreateFile(Key.ToString()))
{
var xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(string));
switch (Key)
{
case StorageType.UserCredentials:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmWFUserCredentials));
break;
case StorageType.BackgroundAgentUserCredentials:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmWFUserCredentials));
break;
case StorageType.UserProfile:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmWFUser));
break;
case StorageType.InboxItems:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(ObservableCollection<dmWFInboxItem>));
break;
case StorageType.InboxTileItems:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(ObservableCollection<dmInboxTileInfo>));
break;
case StorageType.DocumentHeaders:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(ObservableCollection<dmWFDocumentHeader>));
break;
case StorageType.SearchCache:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(List<List<dmWFDocumentHeader>>));
break;
case StorageType.FacebookProfile:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmFBUserProfile));
break;
case
StorageType.BaseUrl:
xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmWFURLSetting));
break;
default:
break;
}
xmlSerializer.Serialize(storageFile, ObjectToStore);
}
}
然后这里是我的功能,从这个存储获得:
public static dmWFURLSetting GetBaseUrl(StorageType Key)
{
try
{
using (var storage = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication())
{
using (var storageFile = storage.OpenFile(Key.ToString(), System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite))
{
dmWFURLSetting result = new dmWFURLSetting();
var xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(dmWFURLSetting));
return (dmWFURLSetting)xmlSerializer.Deserialize(storageFile);
}
}
}
catch (Exception)
{
return null;
}
}
很好,而且那么这里是我如何从m前端调用这些方法,然后viemodel,我正在使用mvvm fr这款手机应用程序。 前端电话:
public string URL = (WorkflowBase.BaseURL != null ? WorkflowBase.BaseURL.ToString() : "");
这里是在后端的公共财产:
public static string BaseURL = AccTech.WP8.Helpers.IsolatedStorage.GetBaseUrl(Helpers.IsolatedStorage.StorageType.BaseUrl).BaseUrl.ToString();
好了,所以来这里的怪异的一部分,我知道当我开始完全关闭独立存储后的仿真器(缓存)是完全干净的,所以如果这个函数被调用,我会得到一个空的回报......你可以看到在我的前端叫我做了一个内联,如果,如果我得到一个空值,则使其“”。所以这里是我运行时得到的错误。 PS:如果我做URL静态应用程序的工作原理
好,这里是错误我得到当我尝试逐步完成整个过程:
我身体无力得到这个工作,我已经尝试了谷歌提供的一切...但没有任何反应,如果有人可以请给我一个答案,我会很高兴。
,如果你需要更多的数据或信息,请让我知道
检查dmWFURLSetting有(德)序列化和公共构造适当的属性。 – kindasimple 2013-04-09 20:14:58