ASP.net Ядро: Браузер не смог найти действие контроллера

#c# #asp.net-core

Вопрос:

Я создал новый простой контроллер, но когда я ввел следующий адрес в браузере, не смог его найти!
http://localhost:5000/Test/Index

Тест.cs:

 using Microsoft.AspNetCore.Mvc;

namespace Test.Controllers
{
    [Route("[controller]/[action]")]
    public class TestController : Controller
    {
        [HttpGet]
        public IActionResult Index()
        {
            return Content("Welcome");
        }
    }
}
 

Startup.cs

 using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;

namespace Test
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            services.AddRazorPages().AddRazorRuntimeCompilation();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseStaticFiles();

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapRazorPages();
            });
        }
    }
}
 

Где я сделал что-то не так?

Ответ №1:

сначала отредактируйте свой атрибут контроллера :

 [Route("[controller]/[action]")]
 

Для

 [Route("[controller]")]
 

и

попробуйте это

 app.UseEndpoints(endPoints =>
            {
               endPoints.MapControllerRoute(
                  "default",
                  "{controller}/{action}/{id?}");
            });
 

также убедитесь, что вы используете правильный порт по умолчанию 5000 или 5001

Ответ №2:

Пожалуйста, убедитесь, что вы используете правильный номер порта.

Комментарии:

1. Пожалуйста, добавьте какое-нибудь объяснение к вашему решению