要解决ASP.Net Core的HTTP请求从未到达API并且不会重定向到HTTPS的问题,你可以按照以下步骤操作:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件配置代码...
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
// 其他配置代码...
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase
{
// API方法...
}
[HttpGet]
[Route("myapi")]
public IActionResult MyApiMethod()
{
// API方法实现...
}
public void ConfigureServices(IServiceCollection services)
{
// 其他配置代码...
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = Configuration["Jwt:Issuer"],
ValidAudience = Configuration["Jwt:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]))
};
});
// 其他配置代码...
}
使用这些步骤,你可以解决ASP.Net Core的HTTP请求从未到达API并且不会重定向到HTTPS的问题。记得确保你的代码正确配置了HTTP请求、HTTPS重定向、路由和身份验证。