根据我的理解:
如果我的asp.net应用程序为每个请求生成一个进程,该进程是否在运行asp.net应用程序的同一应用程序域内运行?
Process p = new Process();
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.StartInfo.Arguments = "-fmt=pdflatex -interaction=nonstopmode " + inputpath;
p.StartInfo.WorkingDirectory = dir;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "pdftex.exe";
p.StartInfo.LoadUserProfile = true;
p.Start();
p.WaitForExit();
答案 0 :(得分:2)
简单的答案是否定的。当您启动新流程时,会创建一个新的流程空间,它独立于您的应用域。生成的进程可能是也可能不是托管代码,并作为独立进程运行。如果定义了适当的设置,它可以继承其创建者的安全上下文。
答案 1 :(得分:1)
没有。 AppDomain不能超过其内部进程的边界
此外,AppDomains是.NET世界的概念。如果pdftex.exe
是.NET应用程序,则它具有自己的AppDomain。如果它不是.NET应用程序,则它根本没有AppDomain。