繁体   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