Что было бы самым простым способом настроить перехватчик запросов/ответов в ServiceStack, который будет выполняться для конкретной службы?Глобальный запрос/ответный перехватчик
Фильтр запросов (IHasRequestFilter
) работает нормально, но фильтр ответа (IHasResponseFilter
) не запускается, если служба возвращает код состояния 2xxx. Мне нужно получить код состояния, возвращаемый методом, а также ответ DTO (если есть).
Обычай ServiceRunner и опрокинув OnBeforeExecute
и OnAfterExecute
методы, кажется, работает хорошо, но я нахожу это довольно навязчивым, как необходимо заменить для всего приложения бегун службы, и я не мог найти способ чистый способ изолировать на функциональность задачи, которые должны выполняться в этих методах.
Есть ли какая-либо точка расширения в ServiceStack, которая у меня отсутствует, что позволит мне выполнить некоторый код перед каждым методом службы и после каждого метода службы? Плагин был бы идеальным, но как я могу подписаться на некоторые фиктивные методы BeforeExecute
и AfterExecute
, которые позволили бы мне запустить какой-то пользовательский код?
UPDATE:
Сразу после размещения вопроса я узнал, что глобальные фильтры ответа не выполняется независимо от того, какого статуса коды возвращаются службой, которая именно то, что мне было нужно. Итак, последний вопрос: возможно ли получить тип сервиса, который будет обрабатывать запрос в фильтре запроса? Мне нужно проверить, украшена ли эта услуга каким-либо специальным атрибутом маркера.
Да, я был просто посредине, отвечая на вопрос Q, указывающий на метаданные :) Также вы можете просмотреть метаданные ServiceStack с помощью пути [/operations/metadata](http://razor.servicestack.net/operations/metadata) , – mythz