none
问点关于silverlight中local storage的问题 RRS feed

  • 问题

  • 想利用silverlight中local storage做log功能,但有Quota大小的限制。现在在假如quota只有1M的空间,我在向其中的文件写时,内容的大小可能已经超过了1M。这种情况下,我应该如何处理?quota会自动增加吗?谢谢

    2008年8月12日 3:33

答案

  •  

    可以通过代码去调整存储空间的大小,使用的API是IncreaseQuotaTo()函数。
    代码如下:

    Code Snippet

    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    {
        // Request 5MB more space in bytes.
        Int64 spaceToAdd = 5242880;
        Int64 curAvail = store.AvailableFreeSpace;

        // If available space is less than
        // what is requested, try to increase.
        if (curAvail < spaceToAdd)
        {

            // Request more quota space.
            if (!store.IncreaseQuotaTo(store.Quota + spaceToAdd))
            {
                // The user clicked NO to the
                // host's prompt to approve the quota increase.
                tbResults.Text = "User declined to approve Quota inrease";
            }
            else
            {
                // The user clicked YES to the
                // host's prompt to approve the quota increase.
                tbResults.Text = "Quota inreased";
            }
        }
    }

     

     

    2008年8月12日 10:52
    版主

全部回复

  •  

    可以通过代码去调整存储空间的大小,使用的API是IncreaseQuotaTo()函数。
    代码如下:

    Code Snippet

    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    {
        // Request 5MB more space in bytes.
        Int64 spaceToAdd = 5242880;
        Int64 curAvail = store.AvailableFreeSpace;

        // If available space is less than
        // what is requested, try to increase.
        if (curAvail < spaceToAdd)
        {

            // Request more quota space.
            if (!store.IncreaseQuotaTo(store.Quota + spaceToAdd))
            {
                // The user clicked NO to the
                // host's prompt to approve the quota increase.
                tbResults.Text = "User declined to approve Quota inrease";
            }
            else
            {
                // The user clicked YES to the
                // host's prompt to approve the quota increase.
                tbResults.Text = "Quota inreased";
            }
        }
    }

     

     

    2008年8月12日 10:52
    版主
  • 还是感谢,八爪熊的帮助

    2008年8月15日 3:22