В моем предыдущем проекте я использую структуру (Agatha RRSL), похожую на ServiceStack, в которой все состоит из запроса, ответа и обработчика. У него также есть перехватчики, которые могут подключаться к обработчику, и вы также можете внедрять другие интерфейсы в обработчик. Я могу использовать это, чтобы открыть транзакцию BeforeHandling, получить доступ как к запросу, так и к ответу в AfterHandling, создать аудит, сохранить в базе данных и закрыть транзакцию, если это необходимо.
Пытаюсь поэкспериментировать аналогично с SerivceStack. Но, кажется, с фильтрами я не могу собрать запрос и ответ вместе?
С пользовательским ServiceRunner. Когда я пытаюсь отлаживать OnAfterExecute(...), я вижу имя моего запроса dto в IRequestContext {ServiceStack.ServiceHost.HttpRequestContext}. Но только имя, я не мог понять, как получить фактический объект запроса для работы с объектом ответа.
Еще одна вещь, которую я не понял, - это возможность внедрить в него интерфейс автоматической проводной службы, такой как контекст БД или служба аудита. Может быть, этот слишком далеко впереди в разработке?
Наконец, кажется, я могу зарегистрировать только один пользовательский сервис? С Interceptor я могу сбросить их кучу, и они будут обвиваться друг вокруг друга.
есть идеи? Спасибо