4

System.diagnose.Debugアプリの大部分をデバッグするために使用していましたが、OS の起動時の動作をデバッグする必要があります (バックグラウンド タスクを実行しています)。これは、VS デバッガーに接続されていないことを意味するため、デバッグをどこかのファイルに書き込むことを計画していました。winRT では、すべてのファイル IO が非同期のようです。そして、非同期を使用するには、それを含むメソッドは非同期である必要があり、これは、すべてが非同期マーカーを持つようになるまで、私の呼び出しを泡立てるだけです (理想的ではありません)。これをすべて行わずにファイルのデバッグ ログを記録する方法はありますか?

4

2 に答える 2

3

MetroLogの使用をお勧めします。これには FileStreamingTarget ターゲットがあり、WinRT アプリでのログ記録が非常に簡単になります。

それでも独自のものを展開したい場合は、ソース コードを確認できます。

編集

また、すべてのメソッドを作成する必要はありませんasync。次のように、ブロックして結果を待つことができます。

var folder = Package.Current.InstalledLocation.GetFolderAsync(Folder)
                                           .GetAwaiter()
                                           .GetResult();
var file = folder.GetFileAsync(Filename).GetAwaiter().GetResult();
var content = FileIO.ReadTextAsync(file).GetAwaiter().GetResult();
于 2013-11-07T12:05:27.650 に答える
0

Can Bilgin による MSDN サンプル ギャラリーのこのログ サンプルを確認してください。それは非常に単純で、使用しませんasync/await

于 2013-11-20T09:18:18.740 に答える