есть ли какой-то класс, похожий на DelegatingHandler в базовом веб-API asp.net?

Я пытаюсь создать базовую службу WEB API asp.net, в которой я хочу отправлять последовательный ответ с аналогичной структурой, возвращаемой для всех запросов.

В более ранней версии WEB API у нас был DelegatingHandler, с его помощью мы могли перехватывать ответ и добавлять в ответ информацию метаданных.

Кое-что из того, что объясняется в следующем URL: https://www.devtrends.co.uk/blog/wrapping-asp.net-web-api-responses-for-consistency-and-to-provide-additional-information

Я попробовал OWIN Middleware, но результата не получил.

Есть ли способ добиться этого в основном WEB API.?

Заранее спасибо.


person ravibhat    schedule 09.06.2017    source источник
comment
Обработчик делегирования был заменен на промежуточное ПО в .Net-Core. Вы сказали, что пробовали промежуточное ПО owin. core следует той же модели. Покажите, что вы пробовали и с чем были проблемы. Может быть, мы сможем помочь вам найти решение.   -  person Nkosi    schedule 10.06.2017
comment
Спасибо, я ошибся при обновлении ответа до контекста.   -  person ravibhat    schedule 10.06.2017
comment
Рад, что ты наконец понял это. Если вы решили проблему, либо добавьте его в качестве собственного ответа, чтобы помочь другим, либо удалите вопрос, если вы считаете, что он не принесет пользы другим в будущем.   -  person Nkosi    schedule 10.06.2017


Ответы (2)


Не знаю, что именно вы пробовали, но в ASP.NET Core промежуточное ПО - это именно то, что вам нужно, например:

Промежуточное ПО - это программное обеспечение, которое собирается в конвейер приложения для обработки запросов и ответов. Каждый компонент выбирает, передавать ли запрос следующему компоненту в конвейере, и может выполнять определенные действия до и после вызова следующего компонента в конвейере.

Раздел документации «Миграция модулей HTTP в промежуточное ПО» объясняет разница между конвейерами запросов в ASP.NET Core и предыдущими версиями и должна помочь вам понять, как писать промежуточное программное обеспечение, которое будет вести себя так, как вам нужно.

Также просмотрите связанный вопрос SO: Регистрация нового DelegatingHandler в Веб-API ASP.NET Core

person Set    schedule 09.06.2017
comment
Спасибо, я ошибся при обновлении ответа до контекста. - person ravibhat; 10.06.2017

Можем ли мы реализовать что-то подобное перехватчикам в ASP.net Core?

В ядре ASP.NET для каждого запроса нужно выполнить вызов другой внешней службы и прочитать динамически изменяющиеся детали аутентификации, такие как имя пользователя и пароль, и сохранить / обновить их в секретах приложения для отправки службы нисходящего потока. Пытался использовать промежуточное ПО, но оно вызывает эту внешнюю службу только один раз и вставляет ее в словарь секретных данных приложения. Если пароль изменился в той внешней службе, которая не отражается, потому что конвейер промежуточного программного обеспечения не всегда обращается к внешней службе.

Ссылка на перехватчики: https://www.c-sharpcorner.com/article/interceptors-an-important-feature-of-http-client/

person amshekar    schedule 20.07.2019