You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 3.1本地页面无法访问问题求助

问题分析与解决方案

核心原因

你的项目中不存在WeatherForecastController这个API控制器,但launchSettings.json里指定了启动路径为weatherforecast,导致请求找不到对应的路由处理逻辑,返回404。

解决步骤

1. 添加WeatherForecastController

在项目的Controllers目录下创建WeatherForecastController.cs文件,内容如下:

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Commander.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
        }
    }

    public class WeatherForecast
    {
        public DateTime Date { get; set; }
        public int TemperatureC { get; set; }
        public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
        public string Summary { get; set; }
    }
}

2. 验证路由配置

控制器上的[Route("[controller]")]特性会自动映射到/weatherforecast路径,和你launchSettings.json中的launchUrl完全匹配,启动应用后访问https://localhost:7165/weatherforecast即可正常返回数据。

额外检查点

  • 确认项目编译无错误:检查CommanderContext、ICommanderRepo等依赖项是否存在并正确引用,编译失败会导致应用无法正常初始化路由。
  • 查看控制台日志:如果访问返回500错误,大概率是数据库连接问题(比如CommanderDB不存在、账号权限不足),dotnet run的控制台会输出具体错误信息,根据提示调整连接字符串或数据库配置。
  • 不要混淆API控制器和Razor页面:你之前添加的endpoints.AddRazorPages()是用于Razor页面的,和API路由无关,无需添加。

内容的提问来源于stack exchange,提问作者Clarissa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:07:25