我有一个从存储库获得的 Wallet 类。我正在尝试在 Autofac 中正确注册两者,以便使用钱包的类可以注入适当的实例。问题是存储库使用异步方法(返回任务)。Autofac 是否支持这种情况?
这不起作用:
cb.RegisterType<WalletRepository>()
.As<IWalletRepository>()
.SingleInstance();
cb.Register(async c => await c.Resolve<IWalletRepository>().CreateAsync(App.WalletPath));
cb.RegisterType<ViewModel>()
.AsSelf().
.SingleInstance();
在我刚刚拥有的应用程序中的某个地方:
class ViewModel
{
public ViewModel(Wallet wallet)
{
//nothing fancy here
}
}
打电话时container.Resolve<ViewModel>()
我得到一个异常说钱包没有注册。