Bagian pipa mana yang hilang?
Tidak ada pipeline permintaan yang dieksekusi:
myRequestService.Any(e.Request);
Secara fisik hanya menjalankan Any
Metode C# dari MyRequestService
Anda kelas, itu tidak (atau tidak bisa) melakukan hal lain.
Cara yang disarankan untuk memanggil Layanan lain selama Permintaan Layanan adalah dengan menggunakan Gateway Layanan.
Tetapi jika Anda ingin memanggil Layanan di luar Permintaan HTTP, Anda dapat menggunakan Gateway RPC untuk menjalankan layanan yang tidak tepercaya karena ia memanggil Pipa Permintaan lengkap &mengonversi tanggapan Kesalahan HTTP menjadi Tanggapan Kesalahan yang Diketik:
HostContext.AppHost.RpcGateway.ExecuteAsync()
Untuk menjalankan Layanan internal/tepercaya di luar Permintaan Layanan, Anda dapat menggunakan HostContext.AppHost.ExecuteMessage seperti yang digunakan oleh ServiceStack MQ yang menerapkan Filter Permintaan/Respons Pesan, Filter &Peristiwa Tindakan Layanan.
Saya telah mendaftar dengan container.AddScoped
Jangan gunakan dependensi Cakupan Permintaan di luar Permintaan HTTP, gunakan Singleton jika dependensinya adalah ThreadSafe, jika tidak, daftarkan sebagai Transient. Jika Anda perlu melewati penyimpanan per permintaan, berikan di IRequest.Items
.