我觉得我在这里遗漏了一些明显的东西。我正在尝试使用 ninject 创建一个类。该类接受单个字符串参数,该参数存储在 HttpContext 的 Session 中。如何将该参数传递给此类?
该类看起来像:
public class Manager : IManager
{
public Manager(string a) { ... }
}
我有一个自定义依赖关系解析器,如下所示:
public class NinjectDependencyResolver : IDependencyResolver
{
IKernel kernel;
public NinjectDependencyResolver()
{
kernel = new StandardKernel();
Bind<IManager>().To<Manager>()
}
...
}
典型的 Controller 如下所示:
public class ManagerController : Controller
{
public ManagerController(IManager manager) { ... }
}
最佳答案
参数存储在Session中是相关的实现细节,不属于Ninject配置。
您应该创建一个 IManagerConfiguration
接口(interface),该接口(interface)具有管理器的每个配置值的属性以及该接口(interface)的 session 存储实现。现在您可以为它们添加一个简单的绑定(bind),并将接口(interface)传递给管理器构造函数而不是字符串。
关于c# - Ninject - 在 .Net MVC 3 中有条件地创建类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681254/