Рассматривали ли вы не делать это с помощью процесса?У SAS есть технология Integration Technologies, которая у вас, скорее всего, есть.Он взаимодействует с использованием интерфейса COM.Затем вы можете выполнить SAS таким образом и передать то, что нужно, используя вызов командной строки.
Вот пример кода:
SAS.Workspace ws = new Workspace();
LanguageService ls = ws.LanguageService;
StoredProcessService sp = ls.StoredProcessService;
sp.Repository = @"file:" + @"x:\temp";
sp.Execute("test.sas", string.Empty);
string log = ls.FlushLog(1000);
Если вам нужно сделать это через запуск процесса, вот код:
Также, если вы передаете команды в SASЯ не вижу никого.Вы должны передавать команды в SAS из командной строки (как минимум, имя программы).info.Arguments это начало.Также перенаправьте вывод std в файл.Посмотрите на info.RedirectStandardOutput и info.RedirectStandardError.Однако я не верю, что это проблема.Я думаю, что вы столкнулись с проблемой безопасности.Посмотрите на Event Viewer и посмотрите, появляется ли он.IISS требует безопасности для выполнения в каталоге.
Наконец, почему вы используете IIS?Если у вас нет устаревших требований, IIS не должен использоваться.Переключитесь на Kestrel и ASP.NET Core.Я представлю в SGF документ об использовании SAS таким образом.Загрузите бумагу и код, как только они будут доступны (на следующей неделе?)