Кои части от тръбопровода са загубени?
Нито един от тръбопровода за заявки не се изпълнява:
myRequestService.Any(e.Request);
Физически извиква само Any
C# метод на вашия MyRequestService
клас, не прави (нито не може) нищо друго.
Препоръчителният начин за извикване на други услуги по време на заявка за услуга е да използвате шлюза за услуги.
Но ако искате да извикате услуга извън HTTP заявка, можете да използвате RPC Gateway за изпълнение на ненадеждни услуги, тъй като той извиква пълния конвейер за заявки и преобразува HTTP отговорите за грешка във въведени отговори за грешка:
HostContext.AppHost.RpcGateway.ExecuteAsync()
За изпълнение на вътрешни/доверени услуги извън заявка за услуга можете да използвате HostContext.AppHost.ExecuteMessage, както се използва от ServiceStack MQ, който прилага филтри за заявка/отговор на съобщения, филтри за действие и събития за услуга.
Регистрирах се с container.AddScoped
Не използвайте зависимости с обхват на заявка извън HTTP заявка, използвайте Singleton, ако зависимостите са ThreadSafe, в противен случай ги регистрирайте като преходни. Ако трябва да подадете хранилище на заявка, прехвърлете ги в IRequest.Items
.