我正在开发一个使用 NInject 创建对象实例的 ASP.NET MVC 3 项目。它为每个动作构建一个对象图。它在大多数情况下运行良好。但是,我有一个新要求,我必须将一些参数(来自请求)传递给对象图中的一些对象(它们是瞬态的)。我怎样才能做到这一点?这是一个例子:
class MyController : Controller
{
[Inject]
public IProcess Process {get;set;}
public ActionResult MyAction(int value)
{
// how to pass the 'value' to an object (IOptions) created by NInject
this.Process.Run();
}
}
如上面的代码所示,Process 属性被注入了一个IProcess
由 NInject 创建的实例。场景背后有一个复杂的对象图。我想将“值”传递给对象图中的一个对象,该对象是实例IOptions
使用的瞬态IProcess
实例。该IOptions
接口有一个名为 的方法SetValue(int)
。
我想做的是,当创建 IOptions 对象时,它的 SetValue(int) 将被调用。当然,它应该是线程安全的。
任何的想法?