共有コントラクトのターゲットになろうとしてA COM call to an ASTA was blocked…にはまる。
共有コントラクトのターゲットでカメラで撮った写真の共有を受けようとして
if (data.AvailableFormats.Contains(StandardDataFormats.StorageItems)) { Debug.WriteLine(">>>>>>>StorageItem"); var files = await data.GetStorageItemsAsync(); foreach (var f in files) { var file = (StorageFile)f; var stream =await file.OpenReadAsync(); ・・・
のようにStorageItemsつかおうとしたら
A COM call to an ASTA was blocked because the call chain originated in or passed through another ASTA. This call pattern is deadlock-prone and disallowed by apartment call control.
と例外が。
OpenReasAsyncで出てる模様。
いろいろゴニョゴニョしたけれど回避できず。
結局おなじ様にはまっていた人への答えと同じようにやったら回避。
var stream = await Task.Run(async () => await file.OpenReadAsync());
[http://answer.techwikihow.com/365066/share-target-error-trying-read-storageitem-file-win-8-1.html
:title]
(´ε`;)ウーン…いまいちこんなので動いちゃっていいのか納得できない…