Které části potrubí jsou ztraceny?
Žádný z kanálů požadavků se neprovede:
myRequestService.Any(e.Request);
Fyzicky pouze vyvolává Any
Metoda C# vaší MyRequestService
třída, nedělá (ani nemůže) dělat nic jiného.
Doporučeným způsobem pro vyvolání dalších služeb během požadavku na službu je použití Service Gateway.
Pokud však chcete vyvolat službu mimo požadavek HTTP, můžete použít bránu RPC pro provádění nedůvěryhodných služeb, protože vyvolává úplný kanál požadavků a převádí odpovědi na chyby HTTP na odezvy na typované chyby:
HostContext.AppHost.RpcGateway.ExecuteAsync()
Pro spouštění interních/důvěryhodných služeb mimo požadavek na službu můžete použít HostContext.AppHost.ExecuteMessage, který používá ServiceStack MQ, který používá filtry požadavků/odpovědí na zprávy, filtry akcí služeb a události.
Zaregistroval jsem se u container.AddScoped
Nepoužívejte závislosti v rozsahu požadavku mimo požadavek HTTP, použijte Singleton, pokud jsou závislosti ThreadSafe, jinak je zaregistrujte jako přechodné. Pokud potřebujete předat úložiště na žádost, předejte je v IRequest.Items
.