1. 以上测试可以看出,假如插件挪用的是一个通例带wait的async异步函数,则插件必然会卸载失败.
原因猜测是返回的功效是编译器自动生成的状态机实现的,而状态机是在插件中界说的.
2. 假如在插件中利用Task.Factory.StartNew函数也会挪用失败,原因不明.
官方文档说和Task.Run函数是Task.Factory.StartNew的简朴形式,只是参数差异.
凭据官方提供的默认参数测试,卸载仍然失败.说明这两种方法实现底层应该是差异的.
任何与插件相关的非局部变量,不能界说在类中,假如想全局挪用只能放到Dictionary中,
在挪用插件卸载之前,删除相要害值.
任何通过插件返回的变量,不能为插件内界说的变量范例.只管利用json通报参数.
插件进口函数只管利用同步函数,假如为异步函数,只能利用Task.Run方法裹所有逻辑.
假如有任何疑问或差异意见,请见教.
NFinal2开源框架。https://git.oschina.net/LucasDot/NFinal2/tree/master
到此这篇关于.Net core 的热插拔机制的深入摸索及卸载问题求救指南的文章就先容到这了,更多相关.Net core热插拔机制内容请搜索剧本之家以前的文章或继承欣赏下面的相关文章但愿各人今后多多支持剧本之家!
您大概感乐趣的文章: