私はこのninjectバインドを使用しています:
kernel.Bind<ICurrentUser>().To<CurrentUser>()
.InRequestScope()
.WithConstructorArgument("principal",
context => (RolePrincipal HttpContext.Current.User);
サービス レイヤーのデコレーターの 1 つで、コンストラクターに "ICurrentUser currentUser" を追加するだけで、オブジェクトとその機能を取得できます。
この実装による欠点はありますか、それとも彼のアンビエント コンテキストを実装するためのより良い方法はありますか? リクエストごとに、ユーザー オブジェクトが作成されます (匿名ユーザーの場合も同様です)。