Я создаю основной угловой веб-сайт .net и сталкиваюсь с проблемами с ApiController, где ApiController (упорядоченный по алфавиту asc) будет работать, но все остальные потерпят неудачу с ошибкой 500, утверждая следующее:
InvalidCastException: Unable to cast object of type 'AbcController' to type 'AccController'.
lambda_method(Closure , object , object[] )
Создание сайта .net core 2.2 с использованием angular и ninject (основные части актуальны). Я настроил его так же, как существующий проект, где работают ApiControllers, но получаю 500 ошибок. Я попытался изменить между следующим:
- Настройка обоих в качестве контроллера
- Настройка обоих в качестве ControllerBase
- Создание BaseController, который расширяется, где BaseController является контроллером
- Создание BaseController, который расширяется, где BaseController имеет значение ControllerBase
- Добавлены / удалены теги для ApiController в контроллерах
- Добавлены / удалены теги для маршрута в контроллерах
- Добавлена / удалена ручная настройка путей MVC
- Переупорядоченное приложение. ### настройка параметров, таких как UseStaticFiles () и UseMvc ()
~ Контроллер 1 ~
[Route("api/[controller]")]
[ApiController]
public class AbcController : ControllerBase
{
[HttpGet("Get")]
public IActionResult Get()
{
return this.Ok("ABC hello world");
}
}
~ Контроллер 2 ~
[Route("api/[controller]")]
[ApiController]
public class AccController : ControllerBase
{
[HttpGet("Get")]
public IActionResult Get()
{
return this.Ok("ACC hello world");
}
}
Метод настройки запуска
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
Kernel = RegisterApplicationComponents(app, loggerFactory);
app.Use(async (context, next) => { await next.Invoke(); });
app.UseHttpsRedirection();
app.UseSession();
app.UseMvc();
app.UseHttpMiddleware();
app.UseDefaultFiles();
app.UseStaticFiles();
}
Текущий результат, при попытке вызвать api/Abc/Get
действительный ответ, 200 результат.
Текущий результат для попытки вызова api/Acc/Get
равен 500, с полным сообщением об ошибке:
An unhandled exception occurred while processing the request.
InvalidCastException: Unable to cast object of type 'AbcController' to type 'AccController'.