C# Silverlight中是否有减少隔离存储容量的方法?

C# Silverlight中是否有减少隔离存储容量的方法?,c#,silverlight,isolatedstorage,C#,Silverlight,Isolatedstorage,使用此代码,我可以让Silverlight询问用户是否希望增加IsolatedStorage: private void Button_IncreaseIsolatedStorage_Click(object sender, RoutedEventArgs e) { IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication(); long newStorageCapacityInBytes

使用此代码,我可以让Silverlight询问用户是否希望增加IsolatedStorage:

private void Button_IncreaseIsolatedStorage_Click(object sender, RoutedEventArgs e)
{
    IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
    long newStorageCapacityInBytes = FileHelpers.GetMaxiumumSpace() + SystemHelpers.GetAmountOfStorageToIncreaseWhenNeededInBytes();
    store.IncreaseQuotaTo(newStorageCapacityInBytes);
    Message = "IsolatedStorage increased. " + FileHelpers.GetSpaceLeftMessage();
}
但如果我试图将其设置为小于当前值的值,我会得到一个错误,这是不可能的

  • 是否有解决方法,即是否可以减少隔离存储量?这至少对测试有用

  • 相关问题:当用户同意增加IsolatedStorage时,其他应用程序是否可以使用此容量,还是仅使用他增加容量的应用程序?我认为这就是存在上述限制的原因


  • 由于增加是在隔离存储文件上执行的,因此只有您的应用程序(或域中托管的其他应用程序)可以使用新配额:

    由于隔离存储的作用域是特定的程序集,因此大多数其他托管代码将无法访问代码的数据(高度受信任的托管代码和管理工具可以从其他程序集访问存储)。非托管代码可以访问任何独立存储

    此外,似乎一旦增加,就无法(以编程方式)返回:

    应用程序与托管在同一域(网站)上的所有其他应用程序共享其配额。初始配额为1 MB,由域的所有应用程序共享。 新配额大小不得小于当前配额只允许增加配额。


    分配后减少隔离存储的唯一方法是使用Silverlight配置对话框删除站点隔离存储。您不能以编程方式执行此操作,用户必须打开“配置”对话框并故意选择删除存储站点

    配额分配给站点,因此当一个应用程序请求增加配额时,站点中的其他应用程序可以从该配额分配空间