我在新的Azure WebJobs项目中使用Ninject。我的存储库之一要求传递Db客户端。如何通过此客户?
我的绑定类是:
public class NinjectBindings : Ninject.Modules.NinjectModule
{
public override void Load()
{
Bind<IMyRepository>().To<MyRepository>();
}
}
控制台应用程序中的“我的主要”功能如下所示:
static void Main()
{
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
var config = new Configuration();
config.AddJsonFile("appsettings.json");
DbClient _dbClient = new DbClient(config);
IMyRepository myRepository = kernel.Get<IMyRepository>(); // This is where I get an error
}
我的存储库代码是这样的,它期待DbClient
public class MyRepository : IMyRepository
{
private DbClient _client;
public MyRepository(DbClient client)
{
_client = client;
}
}
您需要为您的DbClient设置绑定。
我建议在发布组件时要谨慎。我还没有看到一个很好的Web作业ninject示例,因此我手动进行了连接。但这只是我的想法...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句