1
使用Assembly.Load加载的DLL有一个长时间运行的方法返回大数据集,我正在考虑创建AppDomains以运行此dll的不同版本。但是,我没有使用AppDomain,所以我不确定跨AppDomain边界的编组/序列化的复杂性和性能。相同类型的服务Fabric actor可以使用不同版本的相同dll吗?
因此,我在使用AppDomains进行探索之前,是否可以利用服务结构中的微服务体系结构来绕过AppDomains。
谢谢!
您可以创建使用不同版本的DLL的不同的actor服务。否则,你将会在一个actor中使用不同版本的相同dll,产生严重的副作用(bug,可维护性)。 – alltej
@alltej问题是这些DLL是从数据库动态加载的。我希望这些演员能够以不同的流程运行,因此会有不同的AppDomain,但我错了。如果Assembly.Load方法具有用于重装程序集的重载方法或相应的Unload方法,则可以解决该问题。 –