по какой-то причине каждый раз, когда я перезапускаю (в браузере) приложение silverlight, в изолированном хранилище нет ключей.
Я даже пробовал это с ванильным шаблоном с кодом ниже.вещи, которые я проверял:
всегда используя один и тот же порт
при запуске приложение всегда создавало запись в изолированном хранилище (никогда не сохранялось)
при выключении, ключи всегда присутствуют в изолированном хранилище
Код: -
namespace SilverlightApplication1
{
public partial class MainPage : UserControl, INotifyPropertyChanged
{
private string _ChildCount;
public string ChildCount
{
get { return _ChildCount; }
set { NotifyPropertyChangedHelper.SetProperty(this, ref _ChildCount, value, "ChildCount", PropertyChanged); }
}
public MainPage()
{
InitializeComponent();
SaveData();
}
~MainPage()
{
CheckData();
}
private void SaveData()
{
if (!IsolatedStorageSettings.ApplicationSettings.Contains("childCheck"))
{
IsolatedStorageSettings.ApplicationSettings.Add("childCheck", Parent.Create(5, 5));
ChildCount = "Created Children(5)";
}
else
CheckData();
}
private void CheckData()
{
if (IsolatedStorageSettings.ApplicationSettings.Contains("childCheck"))
{
if (((Parent)IsolatedStorageSettings.ApplicationSettings["childCheck"]).Children.Length == 5)
ChildCount = "Children Present";
else
ChildCount = "Parent present without children";
}
else
ChildCount = "Children not found";
}
public class Parent
{
public int Id { get; private set; }
public Child[] Children { get; private set; }
private Parent() { }
public static Parent Create(int id, int childCount)
{
var result = new Parent
{
Id = id,
Children = new Child[childCount]
};
for (int i = 0; i < result.Children.Length; i++)
result.Children[i] = Child.Create(i);
return result;
}
}
public class Child
{
public int Id { get; private set; }
private Child() { }
public static Child Create(int id)
{
return new Child { Id = id };
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
}
любая помощь будетприветствуется.