Secara umum di aplikasi web, Anda ingin status menjadi cakupan permintaan sebanyak mungkin.
Hanya dalam kasus optimasi tingkat yang sangat rendah, Anda kemungkinan akan mengalami kasus di mana tepat untuk membuat objek tunggal (dan kemungkinannya adalah Anda akan menarik logika caching/berbagi ke kelas lain yang ditarik masuk sebagai ketergantungan pada objek [request scope] Anda yang lain dan jadikan itu lingkup tunggal). Ingat bahwa singleton dalam konteks aplikasi web berarti banyak utas menggunakan objek yang sama. Ini jarang menjadi kabar baik.
Atas dasar yang sama, ruang lingkup transien adalah default yang paling mudah (dan itulah mengapa Ninject 2 membuatnya begitu) - ruang lingkup permintaan hanya boleh dimasukkan ke dalam persamaan ketika sesuatu perlu dibagikan untuk alasan kinerja, dll. (atau karena itu hanya konteksnya dari berbagi [sebagaimana disebutkan dalam jawaban lain]).