Я пытался перенести свое приложение с asp. net ядро 2.1 на 3.0, которое использует маршрутизацию атрибутов
Методы ConfigureServices и Configure моего загрузочного файла:
public void ConfigureServices(IServiceCollection services)
{
services.ConfigureOptions(typeof(ABCClass));
services.AddTransient<ITagHelperComponent, XYZTagHelperComponent>();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
I заменили services.AddMvc();
на services.AddMvc(options => options.EnableEndpointRouting = false);
, чтобы отключить маршрутизацию конечной точки
Мой метод действия:
[Route("")]
[Route("Machines")]
public async Task<ViewResult> GetMachinesAsync()
{
return View("MachineView");
}
Первый раз мое приложение загружается с MachineView, но когда я пытаюсь вызвать тот же метод действия на это дает мне ошибку 404 (страница не может быть найдена)
вызов действия из .cs html file:
<li class="nav-item">
<a class="nav-link"
href="@Url.Action("GetMachinesAsync", "Machine")">
Machines
</a>
</li>
Можете ли вы помочь мне, если я что-то здесь упустил , или я что-то не так сделал при настройке промежуточного программного обеспечения для маршрутизации.
Заранее спасибо.