看了官方文档关于Blazor引入autofac的列子,发现跟我的项目不太一样。
这是官方的:链接
我兴冲冲的复制后打开了我的项目,准备粘贴,当我打开program文件后,我傻了
咋跟他的文件不一样?????
多方查找还是没找到,blazor相关的资料确实比较少。最后在builder中发现了ConfigureContainer()这个方法。发现这个方法可以用autofac来注入服务。果断试了一下。确实可以。
下面是具体用法
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.ConfigureContainer(new AutofacServiceProviderFactory(Register));
await builder.Build().RunAsync();
}
private static void Register(ContainerBuilder builder)
{
builder.RegisterModule<ConfigureAutofac>();
// add any registrations here
}
这样就可以使用autofac了。最近刚接触autofac,很多用法还不熟悉,在这里记录一下。