IsolatedStorageFile.IncreaseQuotaTo Method

July 28, 2014

Enables an application to explicitly request a larger quota size, in bytes.

Namespace:  System.IO.IsolatedStorage
Assembly:  mscorlib (in mscorlib.dll)

public bool IncreaseQuotaTo(
	long newQuotaSize
)

Parameters

newQuotaSize
Type: System.Int64
The requested size, in bytes.

Return Value

Type: System.Boolean
true if the new quota is accepted by the user, otherwise, false.

ExceptionCondition
IsolatedStorageException

The isolated store has been removed.

-or-

Isolated storage is disabled.

ArgumentOutOfRangeException

newQuotaSize is less than zero

-or-

newQuotaSize is less than or equal to the value of the Quota property.

ObjectDisposedException

The isolated store has been disposed.

ArgumentException

newQuotaSize is invalid.

An application shares its quota with all other applications that are hosted on the same domain (Web site). The initial quota is 1 MB to be shared by all of the domain's applications.

The new quota size must not be less than the current quota. Only quota increases are allowed.

To increase the quota, you must call this method from a user-initiated event, such as in an event handler for a button-click event. When you call the IncreaseQuotaTo method, the common language runtime in Windows Phone presents a dialog box for the user to approve the request. If the user declines the request, this method returns false and the quota remains the same size.

The following example requests an increase in the quota size. This example is part of a larger example provided for IsolatedStorageFile class.


// Assumes an event handler for the MouseLeftbuttonUp
// event is defined for a control named 'IncreaseQuota'
// In the control's XAML: MouseLeftButtonUp="IncreaseQuota_OnLeftMouseButtonUp"

// User first selects UI to increase the quota.
public void IncreaseQuota_OnClick(object sender, MouseEventArgs e)
{

    // Obtain an isolated store for an application.
    try
    {
        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.
                }
                else
                {
                    // The user clicked YES to the
                    // host's prompt to approve the quota increase.
                }
            }
        }
    }

    catch (IsolatedStorageException)
    {
        // TODO: Handle that store could not be accessed.

    }
}


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft