Pull to refresh

Comments 6

Костыли типа переписывания еndpoint на свой (после того, как Endpoint Routing отработал) почему-то не взлетели.

Так ведь Endpoint Routing уже отработал...


Selectors отвечают за роутинг, и я честно не смог найти, почему это — коллекция.

Потому что один контроллер может быть доступен по нескольким маршрутам.


Биндер — не совсем нормальный сервис. Предполагается, что мы должны регистрировать его через binder provider, но тогда он будет конфликтовать с существующими. Поэтому придется резолвить зависимости вручную

А что мешает перечислить их в конструкторе? Вроде же BinderTypeModelBinder, который и создаёт ваш биндер, создаёт его через ObjectFactory, которая умеет резолвить зависимости...


Сериализация

Тут у вас что-то страшное написано. Можно же сериализовать/десериализовать "шапку" самому через JsonTextWriter/JsonTextReader, а основному сериализатору оставить параметры.

Так ведь Endpoint Routing уже отработал.

имелось в виду решение, когда ER определил какой нужен endpoint и прописал его куда-то в HttpContextFeature, а мы берем и подменяем на свой. Видел такую статью и демо, но что-то не срослось, возможно потому что на 2.2. ER реализован как-то не так, как в 3.1

Потому что один контроллер может быть доступен по нескольким маршрутам

Действительно, спасибо! *facepalm*

BinderTypeModelBinder

Зарегать его в DI напрямую — не рабоает. Вероятно, я не нашел, как именно создается биндер, уже не помню. Статьи, которые попадались мне, юзали Request Services из контекста.

А про сериализацию честно говоря не придумал как можно было бы проще. Ну, разве что руками ползать по json-у, но это я считаю идейно неправильным, поэтому использовал newtonsoft json converters везде где только можно)
Довольно много ресурсов командой уже потрачено на то, чтобы разобраться, какой из способов больше нам подходит. А ведь еще нужно поддерживать единообразие. Чтобы никто не сходил с ума, читая код сервиса, который написан коллегой полгода назад.

Ура! Я не один кто этим заморачивается. А вообще реально крутая штука получилась.

В своём велосипеде я разбираю batch и отдельные запросы отправляю в нужный контроллер через IActionInvoker

Интересная штука! Рискну предположить что middlewares она уже не вызывает, а фильтры? [Authorize] например

Only those users with full accounts are able to leave comments. Log in, please.