C# 此本地主机页可以’;找不到,可能存在配置问题

C# 此本地主机页可以’;找不到,可能存在配置问题,c#,asp.net-core-webapi,C#,Asp.net Core Webapi,无论运行api后尝试加载什么页面,都会出现“This localhost page can not found”404错误,即使尝试运行只返回“Ok”的方法。 我想问题可能在于我配置应用程序的方式。或者我在路由时犯了一些错误 我试过在应用程序配置上乱搞,看了一些例子,但大多数都安装了额外的NuGet软件包。我尝试在ConfigureServices方法中使用.AddControllers()方法,这导致语法错误,我尝试在Configure函数中使用.UseRouting(),再次遇到语法错误 启

无论运行api后尝试加载什么页面,都会出现“This localhost page can not found”404错误,即使尝试运行只返回“Ok”的方法。 我想问题可能在于我配置应用程序的方式。或者我在路由时犯了一些错误

我试过在应用程序配置上乱搞,看了一些例子,但大多数都安装了额外的NuGet软件包。我尝试在
ConfigureServices
方法中使用
.AddControllers()
方法,这导致语法错误,我尝试在
Configure
函数中使用
.UseRouting()
,再次遇到语法错误

启动类:

public void配置服务(IServiceCollection服务)
{
services.addScope();
services.AddDbContext(
options=>options.UseSqlServer(
GetConnectionString(“数据库”);
//services.addScope();
services.AddMvc();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
//此方法由运行时调用。使用此方法配置HTTP请求管道。
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
//默认的HSTS值为30天。您可能希望在生产场景中更改此值,请参阅https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller=Home}/{action=Index}/{id?}”);
});
课程类别:

publicstaticvoidmain(字符串[]args)
{
CreateWebHostBuilder(args.Build().Run();
}
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup();
我正在尝试调用此函数

 [Route("api/[controller]")]
    [ApiController]
    public class AdminController : ControllerBase
 [HttpGet("/user/add/{num1}/")]
        public IActionResult SumActionResult(int num1)
        {
            return Ok(num1 );
        }
如下所示:api/admin/users/add/1,并在我的网页中显示1以确认功能。
我得到的是“找不到此本地主机页”错误。

您需要类似的内容

 [HttpGet("user/add/{num1}")]
 public IActionResult SumActionResult(int num1)
 {
     return Ok(num1 );
 }
还要注意,在路由中,您的用户不是“用户”。 有关更多详细信息,请阅读

您的问题在这里

[HttpGet("/user/add/{num1}/")]
由于前面的斜杠(
/
),路由只是
/user/add/{num1}
,而不是
/api/admin/user/add/{num1}
。请删除前面的斜杠:

[HttpGet("user/add/{num1}/")]

创建HomeController或将MapRouteChied
controller=Home
更改为
controller=Admin
,但没有成功。localhost/api/Admin/user/add/1仍然返回404。try/user/add/1而不是api/Admin/users/add/1,还要注意,RouteEyes中有user而不是user,该路由确实有效。我认为[route”(“string”)/上面写的[controller]“”]控制器类声明将与所有其他路由声明连接起来。有什么方法可以获得它吗?他为什么需要这个,可能会建议一些代码修改,比如num1