新的 .NET 8 Web API 错误 - 连接被拒绝

问题描述 投票:0回答:1

我正在构建 ASP.NET 8 Web API。 当我第一次运行Postman时,我收到以下错误:

GET https://localhost:5001/home
Error: connect ECONNREFUSED 127.0.0.1:5001
Request Headers
User-Agent: PostmanRuntime/7.39.0
Accept: */*
Cache-Control: no-cache
Postman-Token: 173f13c0-5d2f-4fe0-9d75-df150fcc3fbf
Host: localhost:5001
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

来自以下API方法:

namespace API.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class HomeController : ControllerBase
    {
        public string Index()
        {
            return "Hello API!";

        }
    }
}

非常简单。 这个错误让我感到困惑。我检查了所有常见的罪魁祸首,HTTPS,代理等,什么也没有。

asp.net-web-api
1个回答
0
投票

我注意到我刚刚创建的项目中缺少 WeatherForecast 示例控制器和代码。 因此,我决定查看 Program.cs 看看里面有什么。 这是我发现的:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

var summaries = new[]
{
    "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

app.MapGet("/weatherforecast", () =>
{
    var forecast =  Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
    return forecast;
})
.WithName("GetWeatherForecast")
.WithOpenApi();

app.Run();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

放入 Program.cs 中的奇怪代码它一定是 .NET 8 中的新内容。所以我删除了所有不需要的代码并得到了这个:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    //app.UseSwagger();
    //app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.Run();

现在我的简单小控制器可以工作了! 我希望这可以帮助遇到同样问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.