提问人:DevCoder 提问时间:3/14/2023 最后编辑:DevCoder 更新时间:3/15/2023 访问量:75
ASP.Net 核心 Web 应用未卸载动态加载的其他 Razor 程序集
ASP.Net core web app not unloading other Razor Assembly which were loaded dynamically
问:
我有一个剃刀 Web 应用程序,其中很少有其他 razor Web 应用程序使用 AssemblyLoadContext 动态添加
Assembly assembly = _loadContext.LoadFromAssemblyPath(pluginLocation);
由于 razor 应用程序集是在运行时添加的,因此需要将程序集添加到 AddApplicationPart。_builder.AddApplicationPart(assembly);
完成上述步骤后,我能够浏览动态添加的 razor Web 应用程序。
卸载动态添加的程序集(razor Web 应用)时出现问题。
我卸载程序集(razor Web 应用程序)的步骤是
- 从 ApplicationPartManager 中删除了 CompiledRazorAssemblyPart 和 AssemblyPart
- 使用 _loadContext.Unload() 卸载 AssemblyLoadContext
- 使用 GC 进行垃圾回收。收集()
即使执行上述步骤,也可以访问动态加载的 Razor Web 应用 URL/页面。请提出删除程序集的解决方案。
答: 暂无答案
评论