我有一个Azure耐用功能,可以通过VNet发送一些HTTP请求。有时,以下方法将引发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的问题还是应该解决这个问题?
答案 0 :(得分:0)
此错误在TCP层引发。快速搜索显示,尝试绑定到无效的IP地址(例如0.0.0.0
)时,通常会发生这种情况。我将从查看您用来确定它是否与您期望的值相对应的URI值开始。