我已经在 web api 项目中集成了 Light Inject。我能够在 global.asax 的 application_start 中成功注册服务。我正在使用需要在 global.asax 的 application_start 中注册的过滤器。过滤器构造函数引用了注册的服务,但是我无法获取服务实例。示例代码:服务注册如下:
container.Register<ILogger, EPPSLogger>(GetLifetime());
过滤器注册需要 ILogger 的实例。使用以下代码:
config.Filters.Add(new EPPSAuthenticationFilter(
config.DependencyResolver.GetService<ILogger>(),
config.DependencyResolver.GetService<IAuthenticationSecrets>()));
尝试 getService 时收到错误,即未注入/注册 lightinject 模块。我无法升级到 .net framework 4.5 左右。
非常感谢任何帮助。谢谢