Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

ServiceStack:Pulihkan kembali pipeline saat menjalankan Layanan secara manual?

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 .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa kasus penggunaan di mana Redis lebih disukai daripada Aerospike?

  2. Menggunakan Redis Object Cache untuk Mempercepat Instalasi WordPress Anda

  3. Redis menulis ke .ssh/authorized_keys

  4. bagaimana Anda membaca semua byte yang datang pada koneksi tcp?

  5. ConnectionMultiplexer.Hubungkan terputus saat menghubungkan ke server redis