相关疑难解决方法(0)

在Autofac中注册异步工厂

我有一个从存储库中获取的Wallet类.我正在尝试在Autofac中正确注册,因此使用钱包的类可以注入适当的实例.问题是存储库使用异步方法(返回Task).Autofac是否支持此类案例?

这不起作用:

cb.RegisterType<WalletRepository>()
    .As<IWalletRepository>()
    .SingleInstance();
cb.Register(async c => await c.Resolve<IWalletRepository>().CreateAsync(App.WalletPath));
cb.RegisterType<ViewModel>()
    .AsSelf().
    .SingleInstance();
Run Code Online (Sandbox Code Playgroud)

在应用程序的某个地方我只有:

class ViewModel
{
    public ViewModel(Wallet wallet)
    {
        //nothing fancy here
    }
}
Run Code Online (Sandbox Code Playgroud)

在致电时container.Resolve<ViewModel>()我得到一个例外,说钱包没有注册.

c# autofac async-await c#-5.0

5
推荐指数
1
解决办法
4269
查看次数

标签 统计

async-await ×1

autofac ×1

c# ×1

c#-5.0 ×1