修改和对象返回.InRequestScope(Ninject)

时间:2013-01-11 14:27:06

标签: asp.net-web-api ninject

如果我通过注入请求对象并指定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);

1 个答案:

答案 0 :(得分:2)

简短:是的

长: 在同一请求中,Ninject将在请求范围内返回相同的对象实例。

这意味着当以下测试通过并且两个代码段的执行顺序正确时,您的测试将通过。

Obj.SomeProp = "Value"
Assert.True(Obj.SomeProp == value);