如何在ASP.NET MVC 4中使用Ninject从Web.config绑定设置?

Gup*_*R4c 4 c# asp.net asp.net-mvc ninject asp.net-mvc-4

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

如何从Web.config中取出值,构建ProviderCredentials对象并将其注入Provider使用Ninject?不确定它是否重要,但是在同一个解决方案中,ProviderProviderCredentials类存在于一个单独的项目中,而不是MVC项目.

Efr*_*isi 5

您可以考虑ProviderCredentials通过工厂方法进行绑定,强制内核使用您自己的自定义逻辑来解析其引用:

kernel.Bind<ProviderCredentials>()
      .ToMethod(context =>
             new ProviderCredentials(ConfigurationManager.AppSettings["Foo"])
      );
Run Code Online (Sandbox Code Playgroud)