我已在Windows服务器2016上使用dot net core 2.1部署了一个Web应用程序,其请求数超过1000个。
在我的一项行动中,我只是按照以下方式调用网络服务:
byte[] dataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(some data goes here));
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(my uri);
request.Timeout = 3000;
request.ContentLength = dataBytes.Length;
request.ContentType = "application/json";
request.Method = "POST";
using (Stream requestBody = request.GetRequestStream())
{
await requestBody.WriteAsync(dataBytes, 0, dataBytes.Length);
}
using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
return await reader.ReadToEndAsync();
}
在服务器上启动应用程序一到两分钟后,此方法抛出异常:
System.Net.WebException:通常只允许使用每个套接字地址(协议/网络地址/端口)
这个例外的原因是什么?我该如何解决?
服务器规范:
Cpu:2.67 GHz,VirtualProcessors:16
RAM:128 GB
答案 0 :(得分:0)
如果您仍然没有找到该问题的答案,则很可能与计算机中运行的其他服务/应用程序之一发生了套接字冲突。
通常在两个应用程序尝试同时使用相同的套接字地址时发生。希望这可以帮助。