Конечные точки WebAPI без контроллеров

Можно ли вызывать конечные точки WebAPI без расширения базового класса контроллера? У меня есть фоновая служба (базовый класс HostedService, реализующий IHostedService) в .Net Core. Моя структура классов уже высечена, поэтому я не могу изменить базовый класс своих фоновых служб. Но было бы огромным подспорьем, если бы я мог вызывать на них конечные точки url, фактически не имея отдельного контроллера.

Это возможно?

Обновлено: Мои фоновые службы выглядят точно так же, как это.

@ MarcusHöglund Этот вопрос касается старого ASP.NET MVC, а не ASP.NET Core.

poke 01.10.2018 23:37

Проверьте это Конечные точки API ASP.NET Core

Dmitry Pavlov 05.02.2021 19:46
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
625
1

Ответы 1

Почему бы вам не использовать что-то похожее на ValuesController в предоставленной вами ссылке?

Вам нужно только создать новый контроллер с практически любой логикой, просто вызовы вашей размещенной службы.

Я уже так делаю. Я вставляю свой сервис в свой контроллер и вызываю там методы. Но мне нужно создать контроллер только для вызова этих методов и ни для чего другого, и было бы лучше, если бы я мог полностью отказаться от контроллера.

LeonidasFett 01.10.2018 21:44

Но так работает фреймворк MVC. Вы создаете контроллер как слой для отображения ваших конечных точек. Этот уровень не обязательно должен содержать бизнес-логику. Так что вполне нормально вызывать другую службу в вашем контроллере. Но вы необходимость контроллер, чтобы сделать API доступным с MVC. - Обратите внимание, что вам не нужно наследовать от Controller или ControllerBase. Вам просто нужен суффикс Controller в имени типа контроллера.

poke 01.10.2018 23:36

Другие вопросы по теме