Windows Phone 8.1。异步方法有效,但不 return 结果

Windows Phone 8.1. Async Methods works, but don't return the result

我在 Windows Phone 8.1

的 C# 应用程序中使用 async/await 方法有点问题

我正在创建一个简单的应用程序,用于从我的服务中获取数据并将其保存在用户设备上。

我有这个代码:

public static class ScheduleParser
{
    public static async Task<string> GetSchedule(string groupNumber)
    {
        string siteAddress = "site.com";
        siteAddress = string.Format(siteAddress, groupNumber);
        var client = new HttpClient();

        var response = await client.GetStringAsync(siteAddress);
        return response;
    }
  ...
  }

我是这样使用的:

  private async void  ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
       var schedule = await ScheduleParser.GetSchedule("1111111");
    }

我在真实设备上调试我的应用程序。当调用 GetSchedule 时,我看到它运行良好并且 returns 一个值。但是我没有收到 ButtonBase_OnClick.

中的值

我该如何解决这个问题?

在您展示的代码中,您实际上并没有使用结果。 schedule 是一个未使用的变量。由于编译器可以证明该值永远无法读取,因此它不会首先创建变量。

当您实际使用值时,您将能够看到方法调用的结果。