一般に、Webアプリでは、状態を可能な限りリクエストスコープにする必要があります。
非常に低レベルの最適化の場合にのみ、シングルトンオブジェクトを作成するのが適切な場合に遭遇する可能性があります(その場合でも、そのようなキャッシング/共有ロジックを別のクラスにプルして、プルインする可能性があります他の[リクエストスコープ]オブジェクトへの依存関係として、それを作成します シングルトンスコープ)。 Webアプリのコンテキストでのシングルトンは、同じオブジェクトを使用する複数のスレッドを意味することに注意してください。これはめったに良いニュースではありません。
同様に、一時的なスコープは最も単純なデフォルトです(そして、それがNinject 2がそうする理由です)-要求スコープは、パフォーマンス上の理由などで何かを共有する必要がある場合にのみ方程式に含める必要があります(またはそれが単にコンテキストであるため)共有の[他の回答で述べたように])。