Краткий ответ.Да, вы можете сделать вызовы ajax в класс вне контроллеров через пользовательские маршруты в классе RouteConfig в методе RegisterRoutes.Установка определенных маршрутов (скажем, для ваших вспомогательных функций) игнорируется обработчиками и позволяет пропускать трафик.
Самый правильный ответ для вашей ситуации.Ты не должен.Любая простота использования вспомогательных функций будет быстро уменьшена из-за работы, которую вам придется выполнять, потому что теперь вы несете ответственность за управление всеми http-протоколами, входящими и выходящими из ваших вспомогательных классов, для связи от клиента к серверу и обратно.
... и ваши коллеги (или кто-либо, унаследовавший ваш код) в конечном итоге будут ненавидеть вас за нарушение соглашения без реальной необходимости делать это.
Вместо того, чтобы заново изобретать колесо, просто настройте контроллер Helper в своем проекте и возложите на него ответственность за отправку http-запросов назад и вперед и упаковывание ваших вспомогательных функций.Это может быть простой контроллер, который не возвращает никаких результатов действий, и вам не нужно создавать представления, он может просто отвечать за возвращение Json без каких-либо дополнительных сборок.Это не нарушит общепринятых норм, вы сможете потратить годы знаний и знаний на http handeling И ваши коллеги-разработчики не захотят убивать вас во сне, потому что вы сделали что-то только потому, что могли.