File​Update​Request​Deferral File​Update​Request​Deferral File​Update​Request​Deferral Class

Definition

Use to complete an update asynchronously.

public sealed class FileUpdateRequestDeferral : IFileUpdateRequestDeferralpublic sealed class FileUpdateRequestDeferral : IFileUpdateRequestDeferralPublic NotInheritable Class FileUpdateRequestDeferral Implements IFileUpdateRequestDeferral
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Remarks

If your app participates in the Cached File Updater contract, and you can't finish responding to the update before returning from your FileUpdateRequested event handler, call the FileUpdaterRequestDeferral.Complete method to complete the update asynchronously.

Note

The file picker UI is disabled until the app has finished responding to all FileUpdateRequested events that were fired.

To learn about responding to a FileUpdateRequested event, see FileUpdateRequestedEventArgs.

Examples

The File picker contracts sample demonstrates how to respond to a FileUpdateRequested event, including how to get a deferral.


// Event handler
void CachedFileUpdaterUI_FileUpdateRequested(CachedFileUpdaterUI sender, FileUpdateRequestedEventArgs args)
{
    fileUpdateRequest = args.Request;
    fileUpdateRequestDeferral = fileUpdateRequest.GetDeferral();
    switch (cachedFileUpdaterUI.UIStatus)
    {
        case UIStatus.Hidden:
            fileUpdateRequest.Status = FileUpdateStatus.UserInputNeeded;
            fileUpdateRequestDeferral.Complete();
            break;
        case UIStatus.Visible:
            break;
        case UIStatus.Unavailable:
            fileUpdateRequest.Status = FileUpdateStatus.Failed;
            fileUpdateRequestDeferral.Complete();
            break;
    }
}

// Register for the event
cachedFileUpdaterUI.FileUpdateRequested += CachedFileUpdaterUI_FileUpdateRequested;

// Event handler
function onFileUpdateRequest(e) {
    fileUpdateRequest = e.request;
    fileUpdateRequestDeferral = fileUpdateRequest.getDeferral();

    switch (cachedFileUpdaterUI.uiStatus) {
        case Windows.Storage.Provider.UIStatus.hidden:
            fileUpdateRequest.status = Windows.Storage.Provider.FileUpdateStatus.userInputNeeded;
            fileUpdateRequestDeferral.complete();
            break;
        case Windows.Storage.Provider.UIStatus.visible:
            var url = scenarios[0].url;
            WinJS.Navigation.navigate(url, cachedFileUpdaterUI);
            break;
        case Windows.Storage.Provider.UIStatus.unavailable:
            fileUpdateRequest.status = Windows.Storage.Provider.FileUpdateStatus.failed;
            fileUpdateRequestDeferral.complete();
            break;
    }
}

// Register for the event
cachedFileUpdaterUI.addEventListener("fileupdaterequested", onFileUpdateRequest);

Both args and e (in C# and JS respectively) contain a FileUpdateRequestedEventArgs object.

Methods

Complete() Complete() Complete()

Signals that the response to a FileUpdateRequested event is finished.

public void Complete()public void Complete()Public Function Complete() As void
Attributes