0

インジェクションを介してオブジェクトを要求し、InRequestScopeを指定すると、要求コンテキストが変更されるまで同じインスタンスが返されると想定しています。私が知りたいのは、その値を変更した場合、次のインジェクションに変更が含まれるかどうかです。

例(疑似):

 // In one class
 var Obj = kernel.Get<IObjType>();
 Obj.SomeProp = "Value"

 // In another class in the same request context.
 var Obj = kernel.Get<IObjType>();
 Assert.True(Obj.SomeProp = value);
4

1 に答える 1

2

短い:はい

Long:同じリクエスト内でNinjectは、リクエストスコープ内にあるときに同じオブジェクトインスタンスを返します。

これは、次のテストに合格し、2つのコードスニペットの実行順序が正しい場合にテストに合格することを意味します。

Obj.SomeProp = "Value"
Assert.True(Obj.SomeProp == value);
于 2013-01-11T16:53:36.997 に答える