Windows10mobileにおけるFTPClientの作成
VS2017にてWindows10mobile上で動作するUWPアプリケーション(C#)を作成しています。
BackgroudDownloaderを使用してFTPサーバーからファイルを取得する処理を行っているのですが、DownloadOperationのステータスに"PausedNoNetwork"が返ってきており、ダウンロード処理が進みません。
デスクトップアプリ(x86ビルド)では問題なくファイルの取得ができております。
モバイルアプリだとBackgroundDownloaderが対応していないのでしょうか。
Uri urlWithCredential = requestUri;
if (credential != null)
{
// URIをMSDNに従いftp://UserName:Password/path の形式に整える
urlWithCredential = new Uri(
requestUri.ToString().ToLower().Replace(@"ftp://",
string.Format(@"ftp://{0}:{1}@",
EncodeUrl(credential.UserName),
EncodeUrl(credential.Password)
)));
}
BackgroundDownloader downloader = new BackgroundDownloader();
DownloadOperation download = downloader.CreateDownload(urlWithCredential, targetFile);
// ダウンロードの状態を把握するためコールバック関数を設定
return download.StartAsync().AsTask(progressCallback);
OS:Windows10 Mobile
ビルド:10.0.10586.11
ネットワーク:wifi(ローカルネットワーク)
ターゲットバージョン:14393
最小バージョン:10240
追記
色々と検討してみましたが、Windows10 mobileだとBackgroundDownloaderが意図したように動作しないようです。
[https://stackoverflow.com/questions/33783103/backgrounddownloader-is-not-working-for-windows-10-mobile-uwp]
StreamSocketを利用して地道にFTPサーバーと通信すれば、ファイルをダウンロードできました。
Backgroundでの動作は必須ではないので、今回はSocket通信にて実装を進めることにします。