Quais partes do pipeline são perdidas?
Nenhum pipeline de solicitação é executado:
myRequestService.Any(e.Request);
Está apenas invocando fisicamente o
Any
Método C# do seu MyRequestService
classe, ele não faz (nem pode) fazer mais nada. A maneira recomendada de invocar outros Serviços durante uma Solicitação de Serviço é usar o Gateway de Serviço.
Mas se você quiser invocar um serviço fora de uma solicitação HTTP, você pode usar o gateway RPC para executar serviços não confiáveis, pois ele invoca todo o pipeline de solicitação e converte respostas de erro HTTP em respostas de erro digitado:
HostContext.AppHost.RpcGateway.ExecuteAsync()
Para executar serviços internos/confiáveis fora de uma solicitação de serviço, você pode usar HostContext.AppHost.ExecuteMessage conforme usado pelo ServiceStack MQ, que aplica filtros de solicitação/resposta de solicitação de mensagem, filtros de ação de serviço e eventos.
Eu me registrei com container.AddScoped
Não use dependências com escopo de solicitação fora de uma solicitação HTTP, use Singleton se as dependências forem ThreadSafe, caso contrário, registre-as como transitórias. Se você precisar passar o armazenamento por solicitação, passe-os em
IRequest.Items
.