0
    public static Task<string> GetData(string url, string data)
    {
        UriBuilder fullUri = new UriBuilder(url);

        if (!string.IsNullOrEmpty(data))
            fullUri.Query = data;

        WebClient client = new WebClient();

        var tcs = new TaskCompletionSource<string>();

        client.DownloadStringCompleted += (s, args) =>
        {
            if (args.Error != null)
                tcs.TrySetException(args.Error); // HERE
            else if (args.Cancelled)
                tcs.TrySetCanceled();
            else
                tcs.TrySetResult(args.Result);
        };

        client.DownloadStringAsync(fullUri.Uri);

        return tcs.Task;
    }

上述方法在“//Here”处出现错误...

在此处输入图像描述

问题是,我相信 URL 和参数是正确的。除了创建我自己的 API 页面之外,我应该首先检查任何典型的事情吗?

4

1 回答 1

0

首先,您可以只使用WebClient.DownloadStringTaskAsync而不是包装自己的方法。

话虽如此,异常只是从WebClient. 这InnerException是非常明确的 - 服务器返回 NotFound(即:404 错误代码)。您设置异常的代码似乎完全有效。

于 2013-09-23T23:29:35.817 回答