0

我有一个通过 VNet 发送一些 HTTP 请求的 Azure 持久函数。稍后,以下方法会引发 SocketException:

public async Task<(HttpStatusCode statusCode, string Content)> PostAsync(string uri ,string json)
    {
        if (string.IsNullOrEmpty(uri))
        {
            throw new ArgumentException("message", nameof(uri));
        }

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

        var content = new StringContent(json, Encoding.UTF8, "application/json");

        HttpResponseMessage  response = await client.PostAsync("", content);
        string responseContent = await response.Content.ReadAsStringAsync();
        return (response.StatusCode, responseContent);
    }

请求的地址在其上下文中无效

是 VNet 的问题还是我应该如何解决这个问题?

4

1 回答 1

0

此错误在 TCP 层引发。快速搜索表明,它最常发生在尝试绑定到无效 IP 地址时,例如0.0.0.0. 我将首先查看您使用的 URI 值,以确定它是否符合您的期望。

于 2018-12-21T23:15:23.773 回答