AppDomain.Execute程序集卡住了

时间:2013-08-14 20:03:53

标签: c# wcf appdomain

我遇到了这个命令ExecuteAssembly的问题 我让我的应用程序运行管道流数据,我切换到wcf与netnamed管道。 这与这个问题无关。

服务器启动后会执行一些操作,其中一个操作正在执行运行客户端并连接到服务器的程序集。

CODE:

String modulePath = (String)path;
AppDomainSetup objDomainSetup = new AppDomainSetup() { ApplicationBase = Path.GetDirectoryName(modulePath) };
string moduleConfigPath = String.Format("{0}.config", modulePath);
if (File.Exists(moduleConfigPath))
{
    // This is important... in case the loding module has a configuration file.
    objDomainSetup.ConfigurationFile = moduleConfigPath;
}

//We give the new app domain the same permission its parent has.
System.Security.Policy.Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
System.Security.Policy.Evidence objEvidence = new System.Security.Policy.Evidence(baseEvidence);
objModuleDomain = AppDomain.CreateDomain(ChannelName, objEvidence, objDomainSetup);
objModuleDomain.ExecuteAssembly(modulePath);

我检查了路径,所有内容和一切似乎都是正确的,并且执行了从路径指向的.exe。 但ExecuteAssembly卡在那里,并且不执行以下语句。

任何猜测? 感谢

1 个答案:

答案 0 :(得分:0)

AppDomain.ExecuteAssembly()执行程序集并在汇编.exe完成时完成。 我有一个睡眠(无限),使得装配不能完成。