FileUpdateRequestDeferral
FileUpdateRequestDeferral
FileUpdateRequestDeferral
FileUpdateRequestDeferral
Class
Definition
Use to complete an update asynchronously.
public : sealed class FileUpdateRequestDeferral : IFileUpdateRequestDeferralpublic sealed class FileUpdateRequestDeferral : IFileUpdateRequestDeferralPublic NotInheritable Class FileUpdateRequestDeferral Implements IFileUpdateRequestDeferral// You can use this class in JavaScript.
- Attributes
| 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)
|
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.
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.
Methods
Complete() Complete() Complete() Complete()
Signals that the response to a FileUpdateRequested event is finished.
public : void Complete()public void Complete()Public Function Complete() As void// You can use this method in JavaScript.