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; } }

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

相关内容

热门资讯

揭露透视!pokerworld... 揭露透视!pokerworld破解版下载!果然真的有辅助攻略(有挂总结)-哔哩哔哩1、完成poker...
分享透视!大菠萝免费辅助器!竟... 分享透视!大菠萝免费辅助器!竟然真的有辅助工具(新版有挂)-哔哩哔哩1、大菠萝免费辅助器破解器简单,...
解迷透视!pokemmo辅助器... 解迷透视!pokemmo辅助器!原来真的有辅助神器(有挂细节)-哔哩哔哩1、每一步都需要思考,不同水...
总结透视!德州圈脚本!一贯存在... 总结透视!德州圈脚本!一贯存在有辅助工具(证实有挂)-哔哩哔哩1、起透看视 德州圈脚本辅助软件价格2...
详情透视!cloudpoker... 详情透视!cloudpoker怎么开挂!一直真的有辅助教程(有挂规律)-哔哩哔哩1、cloudpok...
解密透视!德州圈脚本!切实真的... 解密透视!德州圈脚本!切实真的有辅助软件(的确有挂)-哔哩哔哩1、德州圈脚本透视辅助软件激活码多个强...
解密透视!约局吧是否有挂!果然... 解密透视!约局吧是否有挂!果然真的是有辅助方法(的确有挂)-哔哩哔哩所有人都在同一条线上,像星星一样...
辅助透视!wepoker透视有... 辅助透视!wepoker透视有吗!一贯有辅助神器(发现有挂)-哔哩哔哩在进入wepoker透视有吗软...
揭幕透视!大菠萝手游辅助!其实... 揭幕透视!大菠萝手游辅助!其实存在有辅助软件(有挂技术)-哔哩哔哩1、打开软件启动之后找到中间准星的...
辅助透视!哈糖大菠萝有挂吗!真... 辅助透视!哈糖大菠萝有挂吗!真是是真的有辅助神器(新版有挂)-哔哩哔哩哈糖大菠萝有挂吗破解侠是真的助...