0

Microsoft Visual Studio Community 2015バージョン14.0.25.425.01 Update 3でMicrosoft .NET Frameworkバージョン4.6.01055でUWPアプリケーションを構築しています。現在使用しているAWS .NET SDKの最新バージョンはv3.1.0です。UWPアプリケーションでバックグラウンドタスクを実行する際の問題

タイムトリガーバックグラウンドタスクプロジェクトを作成したスケジュールファイルアップロードタスクを実行します。

Appプロジェクト(ストレージファイルエクスプローラ)でバックグラウンドタスクを作成したWindowsランタイムコンポーネント(ScheduledUploadBackgroundTask)を参照として追加しました。 Image1

また、私は、アップロードの背景operation.Thisライブラリで使用される多くのユーティリティを定義している別のクラスライブラリ(AppUtils)は、バックグラウンドタスクWinRTの中で参照されて作成しました。 Image2

ここでは、バックグラウンドタスクにファイルパスがあります。 GetFileFromPathAsync(filePath)私はAccessDeniedExceptionを取得します。 Image3

私はWinRTのアプリのローカル&のTempフォルダが、私は現実的ではないローカル/一時フォルダにコピーを残して非常に大容量のものであってもよいアップロードしていたデータ(ファイル/フォルダ)へのアクセス権を持っていることを認識しています。

この問題の回避策を提案してください。

答えて

1

私が知っているように、UWPのパス(C:\...)で直接ファイルを取得することはできません。ストレージAPIを使用してファイルを取得する必要があります。

FileOpenPickerを初めて使用する必要がある場合は、FutureAccessListを使用してファイルや場所(フォルダなど)を保存し、今後これらのアイテムに簡単にアクセスできます。

コード例の詳細は、File picker sampleFile access sampleを参照してください。

+0

しかし、ファイル/フォルダピッカーを使用できないように、バックグラウンドタスク(WRCのコード)でファイルを取得します。 –

+0

@ sanster23初めてファイル/フォルダピッカーを使用する必要があります。ファイルや場所をFutureAccessListに格納する必要があるためです。次に、次の使用では、FutureAccessList経由でファイルを直接取得できます。 –

+0

は、BackGroundTaskでPickerを使用して、UIでピッカーを開くことなく回避する方法です –

関連する問題