public static async Task <List <MasterDictionary> > Load(string FileName)
        {
            List <MasterDictionary> DataList = new List <MasterDictionary>();

            Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

            var file = await storageFolder.TryGetItemAsync(FileName);

            if (file != null)
            {
                Windows.Storage.FileProperties.BasicProperties basicProperties = await file.GetBasicPropertiesAsync();

                if (basicProperties.Size > 0)
                {
                    using (var Stream = await storageFolder.OpenStreamForReadAsync(FileName))
                    {
                        //starts to hang here
                        System.Xml.XmlDictionaryReader XmlReader = System.Xml.XmlDictionaryReader.CreateTextReader(Stream, new System.Xml.XmlDictionaryReaderQuotas());
                        //doesn't get further than here??
                        System.Runtime.Serialization.DataContractSerializer Serializer = new System.Runtime.Serialization.DataContractSerializer(typeof(List <MasterDictionary>));
                        var data = (MasterDictionary)Serializer.ReadObject(XmlReader);
                        DataList.Add(data);
                    }


                    return(DataList);
                }
                else
                {
                    return(new List <MasterDictionary>());
                }

                //return new List<MasterDictionary>();
            }
            else
            {
                //Console.WriteLine("No File Found");
                return(new List <MasterDictionary>());
            }
        }
Esempio n. 2
0
        async private void ReadBookmarks()
        {
            ObservableCollection <BookmarkNode> bookmarks;

            Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
            try
            {
                var serializer = new JsonSerializer();
                using (var bookmarkStream = await localFolder.OpenStreamForReadAsync("bookmarks.json"))
                    using (var sr = new StreamReader(bookmarkStream))
                        using (var jsonTextReader = new JsonTextReader(sr))
                        {
                            bookmarks = serializer.Deserialize <ObservableCollection <BookmarkNode> >(jsonTextReader);
                        }
            }
            catch
            {
                bookmarks = new ObservableCollection <BookmarkNode>();
            }
            Bookmarks = bookmarks;
            OnPropertyChanged("Bookmarks");
        }