C# HTTPClient 不发送请求

C# HTTPClient Not Sending Request

我有一个 WPF 应用程序,我需要从远程 API 检索配置数据。 API 已经过测试并且可以正常返回我认为是正确格式的内容。我已经为响应等创建了一个数据类型,但是当我到达通过 HttpClient 获取响应的行时,它不会向 API.

发送任何请求

数据类型:-

public class Mylist
    {
        public string ItemName { get; set; }
        public string ItemText { get; set; }
        public string ConfigName { get; set; }
        public string ConfigValue { get; set; }
        public string ConfigType { get; set; }
    }

代码:-

string licKey = ConfigManager.GetSetting("Lic");
            string Uri = ConfigManager.GetSetting("API");
            string UserAPI = ConfigManager.GetSetting("Config");

            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri(Uri);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            var response = await client.GetAsync(UserAPI + "?Licence=" + licKey);
            var data = await response.Content.ReadAsAsync<IEnumerable<Mylist>>();
            int count = 0;
            List<Mylist> nudges = new List<Mylist>((IEnumerable<Nudgelist>)data);
// Do something with the data

代码为请求构建正确的 URL (https://example.com/api/Uri?Licence=licencevalue),如果手动输入浏览器,它会给出如下响应:-

<Mylist>
<ConfigName>cName</ConfigName>
<ConfigType>cType</ConfigType>
<ConfigValue>cValue</ConfigValue>
<ItemName>iName</NudgeName>
<ItemText>iText</NudgeText>
</Mylist>
<Mylist>
...
</Mylist>

当我 运行 上面的代码并单步执行时,我们会到达“var response = await client.GetAsync(UserAPI + "?Licence=" + licKey );"它只是跳过其余代码并转到下一个调用,没有出现任何错误或失败。

我在 API 上有 运行 日志,但如果我们使用相同的代码模型调用另一个 API 控制器来调用 Uri2,则我们没有看到请求传入(https://example.com/api/Uri2?Licence=licencevalue) 效果很好。

试试这个


if (response.IsSuccessStatusCode)
{
    var stringData = await response.Content.ReadAsStringAsync();
    var result = JsonConvert.DeserializeObject<IEnumerable<MyList>>(stringData);
}
else 
{
    var statusCode= response.StatusCode);
}