Tag: appdomain

创建自定义AppDomain并向其添加程序集

如何创建appdomain,向其添加程序集,然后销毁该app域? 这是我尝试过的: static void Main(string[] args) { string pathToExe = @”A:\Users\Tono\Desktop\ConsoleApplication1.exe”; AppDomain myDomain = AppDomain.CreateDomain(“MyDomain”); Assembly a = Assembly.Load(System.IO.File.ReadAllBytes(pathToExe)); myDomain.Load(a.FullName); // Crashes here! } 我也尝试过: myDomain.Load(File.ReadAllBytes(pathToExe)); 如何将程序集添加到appdomain。 一旦我这样做,我可以通过reflection找到方法执行它,然后销毁appdomain 我得到的例外是: 无法加载文件或程序集“ConsoleApplication1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。 该系统找不到指定的文件。

通过appdomain限制对文件系统和网络的插件访问

我刚才问过如何限制插件访问(我想阻止他们写入磁盘或网络),我被告知要使用AppDomain 。 我已经搜索并尝试过如何使其工作失败。 任何人都可以提供一些信息,这样我就可以开始了,只需制作一个不允许写入文件或网络的AppDomain。

如何创建应用程序域并在其中运行我的应用程序?

我需要创建一个自定义应用程序域来解决.NET运行时默认行为中的错误。 我在网上看到的示例代码都没有用,因为我不知道在哪里放置它,或者我需要在Main()方法中替换它。

在AppDomains之间共享数据

我有一个可以有多个AppDomain的进程。 每个AppDomain都会收集一些统计信息。 在指定的时间之后,我想累积这些统计信息并将它们保存到文件中。 一种方法是远程处理,我想避免。 我想到的唯一其他技术是将每个AppDomain的数据保存在一个文件中,并在一段特定时间后,其中一个AppDomain收集所有数据并累积它们。 但如果所有这些都可以在内存中完成,那么这将是理想的,而无需在AppDomains之间序列化信息的成本。 有人有主意吗?