NInject (v1.0) 用の OnePerSessionBehavior を作成したいのですが、ほとんど動作しています。残っている唯一の問題は、新しいセッションがコンテナーから何かを要求するたびに .WithArguments() を使用して新しい引数を渡す方法です。現在、コンテナへの参照をアプリケーション変数として保持しているため、モジュールは一度しかロードされないため、もちろんバインディングは一度しか発生しません。
たとえば、次の例では、新しいセッションごとに「Something」の個々のインスタンスが返されますが、すべてのセッションに渡されるコンストラクター引数は同じ DateTime です。
Bind<ISomething>()
.To<Something>()
.Using<OnePerSessionBehavior>()
.WithArgument("currentDateTime", DateTime.Now);