Я пытаюсь интегрировать свой сайт с PhantomJS для очистки динамического содержимого. Я делаю это через Process.Start и запускаю PhantomJS вместе с моим скриптом. Это отлично работает на моей devmachine.Process.Start в ASP.NET?
На моем хозяине я изучил, что у меня есть уровень доверия, и уровень Неограниченный, что выше полного доверия, не так ли?
Тем не менее, я получаю разрешение, отклоненное на Process.Start.
Почему это, когда уровень доверия неограничен?
[Редактировать] System.ComponentModel.Win32Exception (0x80004005): отказано в доступе на System.Diagnostics.Process.StartWithCreateProcess (ProcessStartInfo startInfo) в System.Diagnostics.Process.Start() в StrengthTracker.Controllers.AppController.Index()
код для выполнения процесса является:
string path = Server.MapPath(".");
path = Directory.GetParent(path).FullName;
path = path + "\\data";
Response.Write("path:" + path);
string a = "\"" + path + "\\scrape.js" + "\" \"" + url + "\"";
var processStartInfo = new ProcessStartInfo
{
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
UseShellExecute = false,
Arguments = a,
FileName = path + "\\phantomjs.exe"
};
var process = new Process
{
StartInfo = processStartInfo,
EnableRaisingEvents = true
};
//pipe the output
process.OutputDataReceived += (sender, args) => outputBuilder.Append(args.Data);
try
{
process.Start();
process.BeginOutputReadLine();
process.WaitForExit(20000);
process.CancelOutputRead();
}
catch (Exception x)
{
return Content(x.ToString());
}
return Content(outputBuilder.ToString());
[править снова] сайта, кажется, находится на сетевой ресурс на моем хосте. Путь выглядит так «\ foo \ bar \ bla»
Это проблема? ограничения, начинающиеся с чего-то на долю?
Можете ли вы предоставить код, который вы используете, перед вызовом process.start –