c# - .Net 核心服务调用抛出 SocketException:试图以访问权限禁止的方式访问套接字
问题描述
我正在编写一个 .net 核心服务,它通过调用部署在 docker 服务器上的 api 来获取一些数据。
string url = serviceURL;
WebRequest request = WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/json";
request.ContentLength = 0;
using (WebResponse response = await request.GetResponseAsync())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
//logic to access data;
}
}
我得到异常@ using (WebResponse response = await request.GetResponseAsync())
System.AggregateException: '发生一个或多个错误。(尝试以访问权限禁止的方式访问套接字。尝试以访问权限禁止的方式访问套接字。)
Inner Ex HttpRequestException:试图以访问权限禁止的方式访问套接字。
Inner Ex SocketException:试图以访问权限禁止的方式访问套接字。
docker 服务器上的相同 API 也可以从用 .net framework 4.5 编写的基于 Windows 的应用程序调用,它在那里工作正常并返回预期结果。
.net 核心应用程序需要哪些额外的代理设置才能发出 Web 请求?
解决方案
推荐阅读
- laravel - 我可以覆盖(作曲家)Laravel 包的资产吗?
- reactjs - 将快捷方式图标添加到 Gatsby 站点
- java - Java在源码中设置Kafka保留时间
- java - 将 scala Seq[Double] 转换为 Java 列表
在爪哇 - regex - 使用 Ansible 列表项上的正则表达式删除特殊字符
- bash - 当我尝试使用 vim 打开文件时如何解决此错误
- apache - apache2 wordpress 禁止/禁止从根文件夹中的 .htaccess 访问文件夹-> RedirectMatch 不起作用
- html - 为单个 bsTooltip (shinyBS) 元素设置样式
- java - Java Kerberos 通过凭据缓存更新 TGT
- java - 如何在事件驱动的 Java 中避免繁忙的 while 循环