【发布时间】:2014-10-30 12:21:27
【问题描述】:
我有一个正在运行的应用程序,它在运行时加载一个程序集。我有一个文件夹,里面装满了 .dll 文件。每当调用者发出请求时,我的应用程序都会查看选定的 dll 并加载它。这是我的代码的 sn-p。
if (File.Exists(Path.Combine(assemblySavePath, proxy.AssemblyFileName)))
{
Assembly = Assembly.LoadFile(Path.Combine(assemblySavePath, proxy.AssemblyFileName));
// after this just use it normally
}
基本上每当有请求时,我都会加载它。所以我的问题是,在性能方面,这是正确的方法吗?因为我想知道是否有一种方法可以先查看内存/GAC/AppDomain,检查它是否存在,而不需要我每次有请求时都去 LoadFile()。
【问题讨论】:
-
为了节省内存,您可以使用另一个
AppDomain到load/unload 程序集。性能方面,您应该按照@nvoigt 的回答建议将它们加载到当前的AppDomain中。
标签: c# runtime .net-assembly