我有一个asp.net mvc应用程序产生Process
,如下所示:
Process p = new Process();
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.StartInfo.Arguments = "-interaction=nonstopmode " + inputpath;
p.StartInfo.WorkingDirectory = dir;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "pdflatex.exe";
p.StartInfo.LoadUserProfile = true;
p.Start();
p.WaitForExit();
在进一步说明之前,我需要知道,例如pdflatex.exe
是托管代码还是本机代码?
我需要考虑这个因为:(希望我没错......)
继续......
简而言之,我希望我的网站不会为每个请求生成新进程。因为进程比应用程序域更昂贵。
我的asp.net mvc应用程序允许用户提交LaTeX
输入命令,例如$ax^2+bx+c=0$
,以转换为pdf文件,呈现二次方程式。在幕后,这个Web应用程序将生成一个执行pdflatex.exe
的进程。 pdflatex.exe
的工作是将LaTeX
输入命令转换为pdf文档。
答案 0 :(得分:0)
这不是一项简单的任务,但您可以查看该库Microsoft.Cci.PeReader.dll 可能解析PE头可能指向您需要的信息。
答案 1 :(得分:0)
当“尝试加载非托管动态链接库或可执行文件(例如Windows系统DLL)时,Assembly.LoadFile()抛出BadImageFormatException,就好像它是.NET Framework程序集一样。” 请参阅http://msdn.microsoft.com/en-us/library/system.badimageformatexception.aspx
中的备注和示例