Autofac是否支持在BlazorWebAssembly中进行延迟加载程序集的服务注册?”
创始人
2024-11-12 12:00:10
0

Autofac可以支持在Blazor WebAssembly中进行延迟加载程序集的服务注册。要实现它,请使用Autofac的Autofac.Features.Metadata延迟加载程序集的支持。首先,您需要使用Autofac特性来注册您的服务,如下所示:

[module: AssemblyMetadata("IsDynamicModule", true)]

public class MyModule : Module { protected override void Load(ContainerBuilder builder) { builder.Register().As(); } }

然后,您需要在Startup.cs文件中使用以下代码来获取程序集:

var asmName = new AssemblyName("MyDynamicModule"); var asmLoadContext = new AssemblyLoadContext(null, true); var assemblyStream = File.OpenRead("MyDynamicModule.dll"); var dynAssembly = asmLoadContext.LoadFromStream(assemblyStream); var moduleTypes = dynAssembly.GetTypes().Where(x => typeof(Module).IsAssignableFrom(x)); foreach (var moduleType in moduleTypes) { var module = (Module)Activator.CreateInstance(moduleType); builder.RegisterModule(module); }

最后,您可以在应用程序中使用以下代码来创建您的服务:

@inject IComponentContext ComponentContext

@code { private MyService myService; protected override async Task OnInitializedAsync() { myService = ComponentContext.Resolve() as MyService; } }

现在,您的服务将被成功注册并在需要时进行延迟加载。

相关内容

热门资讯

出现新变化!werplan有挂... 出现新变化!werplan有挂吗,丰城呱呱辅助器,妙计辅助软件(有挂讲解)-哔哩哔哩1、每一步都需要...
刚刚!天天微友有辅助麻(辅助)... 刚刚!天天微友有辅助麻(辅助)一直真的是有辅助插件(有挂秘籍)-哔哩哔哩1、下载好天天微友有辅助麻透...
今天上午!潮汕汇软件辅助(辅助... 今天上午!潮汕汇软件辅助(辅助)好像是有辅助插件(有挂方法)-哔哩哔哩1)潮汕汇软件辅助免费钻石:进...
目前来看!哈糖大菠萝挂,杭州都... 目前来看!哈糖大菠萝挂,杭州都莱破解版,秘籍辅助app(有挂规律)-哔哩哔哩1、杭州都莱破解版免费辅...
2026版辅助挂!佛手在线大菠... 2026版辅助挂!佛手在线大菠萝智能辅助器,蘑菇云辅助使用视频,学习辅助方法(确实有挂)-哔哩哔哩1...
目前来看!吉祥填大坑脚本小程序... 目前来看!吉祥填大坑脚本小程序(辅助)切实真的是有辅助app(确实有挂)-哔哩哔哩吉祥填大坑脚本小程...
出乎意料的是!潮友潮汕木虱辅助... 出乎意料的是!潮友潮汕木虱辅助(辅助)竟然存在有辅助神器(有挂神器)-哔哩哔哩1、操作简单,无需潮友...
据目击者称!约局吧开挂,789... 据目击者称!约局吧开挂,789大菠萝如何手气顺,烘培辅助工具(有挂教程)-哔哩哔哩1.789大菠萝如...
据目击者称!wepoker手机... 据目击者称!wepoker手机版透视脚本(辅助)一直存在有辅助脚本(今日头条)-哔哩哔哩一、wepo...
有玩家发现!werplan脚本... 有玩家发现!werplan脚本,新天道透视辅助,方式辅助神器(有人有挂)-哔哩哔哩1、进入到新天道透...