2011-01-20 35 views
4

我有一个.NET应用程序正在创建多个单独的AppDomain以运行一些可插入代码,每个AppDomain都设置了自己的WCF命名管道服务以与中央应用程序进行通信。应用程序域之间的独立工作目录

但是我想为每个AppDomain设置一个不同的工作目录,以便每个应用程序域中的任何相对路径的基本文件夹都不相同。因此,这些插件可以通过“./MyCustomFolder”以所有常规文件处理方式创建自己的文件夹结构。

不幸的是,我发现Directory.SetWorkingDirectory()将它设置为整个进程(不是孤立于一个应用程序域),这导致一些插件在其他插件目录中写入。

是否可以更改不同AppDomain的工作目录,还是需要启动全新的流程才能完成我所追求的目标?如果我需要整个流程来处理你的意见,那么你有什么意见试图以稳定的方式有效管理父母/子女的流程?

回答

0

CurrentDirectory(或WorkingDirectory)是每个进程。

但是,您可以在创建appdomain时设置装配探测路径。看看AppDomainSetup课程。

+0

它不仅仅是从相对目录中加载的程序集,还包括一般资源(图像,txt,csv等) – Alex 2011-01-20 06:51:38

相关问题