簡體   English   中英

我應該在Windows Store應用中的共享合同中刪除文件

[英]Where should I delete my file with Share Contract in windows store app

在我的應用程序中,我發送帶有Windows Store Share Contract的電子郵件。 一切正常,只有一個我無法解決的問題。 我在哪里以及如何刪除創建的文件? 因為如果我在任何地方刪除它,電子郵件將沒有附件。 有我的代碼:

async void ShareImageHandler(DataTransferManager sende, DataRequestedEventArgs e)
    {
        DataRequest request = e.Request;

        DataRequestDeferral deferral = request.GetDeferral();

        var localFolder = ApplicationData.Current.LocalFolder;
        var file = await localFolder.CreateFileAsync(Guid.NewGuid(); + ".png");
        var screenShotter = new ScreenShotter();

        try
        {
            await screenShotter.SaveVisualElementToFileAsync(
                      gridPrintForPostCard, file, new Rect(0, 0, 10000, 10000));

            request.Data.Properties.Thumbnail =
                               RandomAccessStreamReference.CreateFromFile(file);
            request.Data.SetBitmap( 
                               RandomAccessStreamReference.CreateFromFile(file));
        }
        finally
        {
            deferral.Complete();
        }
    }

您可以添加一個后台任務,即使應用程序未運行,該后台任務也會運行,該任務會定期清除臨時文件。 您甚至可以確定何時可以運行它,例如,如果用戶不在計算機旁邊。 更多信息: 后台任務准則

一個更簡單的解決方案是在應用啟動(加載事件)或關閉時將其全部刪除。 但這不是一個健壯的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM