我的c#WebAPI
项目具有以下处理程序。
public class CustomLogHandler : DelegatingHandler
{
[Inject]
public ILogRepository LogRepository { get; set; }
... some methods here
}
此处理程序已在我的WebApiConfig.cs
类中注册。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
... some code here
config.MessageHandlers.Add(new CustomLogHandler());
}
}
我的ILogRepository也作为我的其他存储库注册在了NinjectWebCommon.cs
类中。
kernel.Bind(typeof(ILogRepository)).To(typeof(Data.LogRepository));
问题是,当我调试并且断点到达我的
CustomLogHandler
方法时,LogRepository
实例为空。
有任何线索吗?
答案 0 :(得分:0)
我找到了一种行之有效的方法:
var service = GlobalConfiguration.Configuration.DependencyResolver.GetService(typeof(ILogRepository)) as ILogRepository;
希望这对其他人有用。
谢谢