首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立存储在windows phone应用程序上不起作用

独立存储在windows phone应用程序上不起作用
EN

Stack Overflow用户
提问于 2013-04-09 16:00:39
回答 2查看 282关注 0票数 0

我有这个独立存储功能来写入存储:

代码语言:javascript
复制
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);
    }

}

下面是我要从这个存储中获取的函数:

代码语言:javascript
复制
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;
    }

}

好的,这是我如何从前端调用这些方法,然后是viemodel,我在这个手机应用程序中使用mvvm。前端调用:

代码语言:javascript
复制
public string URL = (WorkflowBase.BaseURL != null ? WorkflowBase.BaseURL.ToString() : "");

下面是后端的公共属性:

代码语言:javascript
复制
public static string BaseURL = AccTech.WP8.Helpers.IsolatedStorage.GetBaseUrl(Helpers.IsolatedStorage.StorageType.BaseUrl).BaseUrl.ToString();

好了,奇怪的部分来了,我知道当我在完全关闭后启动模拟器时,隔离存储(缓存)是完全干净的,所以如果调用这个函数,我会得到一个Null返回…正如你在我的前端调用中看到的,我做了一个内联,如果我得到一个空值,那么就把它设为"“。这是我在运行时得到的错误。附言:如果我将URL设置为静态,则应用程序将正常工作

好的,这是我在尝试单步执行整个过程时得到的错误:

我身体上不能让这个工作,我已经尝试了谷歌提供的一切…但是什么也没发生,如果有人能给我一个答案,我会很高兴的。

如果您需要更多数据或信息,请让我知道

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-17 19:31:22

WorkflowBase.BaseURL != null,它所指向的这个工作流基类从未将公共变量更改为它获得的数据,所以这就是错误发生的原因!

所以是本周的新手错误!:P

票数 0
EN

Stack Overflow用户

发布于 2015-06-12 19:22:17

是的,我也得到了这种类型的exception.But区域,这个异常的背后是你的独立存储不包含你想要访问的键,所以如果有现金访问独立存储,首先检查contain.In Visual studio,也通过使用独立存储对象中的断点来检查独立存储中有多少键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15896451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档