Postman无法发送请求:.NET项目GET接口连接被拒绝求助
问题原因分析及解决建议
针对你遇到的Error: connect ECONNREFUSED 127.0.0.1:5001错误,以下是可能的原因及对应排查方向:
服务未正常启动
先确认你的.NET项目是否真的处于运行状态。在Visual Studio中,检查输出窗口是否有服务启动成功的日志;如果是用命令行启动(dotnet run),查看控制台是否有服务绑定端口的提示信息。如果服务启动失败,会直接导致无法建立连接。端口协议或配置不匹配
.NET项目默认会同时配置HTTP和HTTPS端口,你在项目属性中看到的5001可能是HTTPS端口,而非HTTP端口。检查项目根目录下的launchSettings.json文件,查看applicationUrl配置项:"applicationUrl": "https://localhost:5001;http://localhost:5000"如果是这种情况,你用
http://localhost:5001访问会被拒绝,需要改用https://localhost:5001,或者切换到HTTP的5000端口访问。端口被占用或防火墙拦截
5001端口可能被其他程序占用,导致你的.NET服务无法绑定该端口。可以通过以下命令排查:- Windows:打开命令提示符,执行
netstat -ano | findstr :5001,查看是否有其他进程占用该端口,如有则关闭对应进程。 - Mac/Linux:在终端执行
lsof -i :5001,找到占用端口的进程并终止。
另外,本地防火墙可能阻止了Postman访问5001端口,尝试临时关闭防火墙后再测试。
- Windows:打开命令提示符,执行
依赖注入错误导致服务启动失败
你的ProductsController构造函数未对注入的_repository和_logger进行赋值,代码中这两个字段始终为null:public ProductsController(IDutchRepository repository, ILogger<ProductsController> _logger) { // 缺少赋值逻辑 }正确的构造函数应该是:
public ProductsController(IDutchRepository repository, ILogger<ProductsController> logger) { _repository = repository; _logger = logger; }如果不赋值,服务启动时会因依赖注入异常而崩溃,导致无法对外提供服务。
内容的提问来源于stack exchange,提问作者Robert Young
相关产品推荐
相关产品推荐

