我有一个Repository,它接受一个Provider,这需要将ProviderCredentials对象传递给它。 ProviderCredentials对象是一个类,但是它的值仅在运行时才知道,因为它们位于<applicationSettings />部分的Web.config中。

我如何从Web.config中取出值,构建ProviderCredentials对象,然后使用Ninject将其注入(inject)到Provider中?不确定是否重要,但是ProviderProviderCredentials类与同一解决方案中的MVC项目位于不同的项目中。

最佳答案

您可以考虑通过工厂方法来绑定(bind)ProviderCredentials,从而迫使内核使用您自己的自定义逻辑来解析其引用:

kernel.Bind<ProviderCredentials>()
      .ToMethod(context =>
             new ProviderCredentials(ConfigurationManager.AppSettings["Foo"])
      );

09-12 22:32