4

我一直System.diagnose.Debug在调试我的大部分应用程序,但现在我需要调试操作系统启动时的行为(我们正在运行后台任务)。这意味着我们没有附加到 VS 调试器,所以我计划做的是将我的调试写入某个文件。在 winRT ALL 文件 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 回答