Вызов консольного приложения из веб-службы IIS без загрузки DLL - PullRequest
0 голосов
/ 16 ноября 2010

Мой сервис iis вызывает консольное приложение.Это консольное приложение ссылается на DLL.

Когда я проверяю вывод ошибок, я получаю следующее:

Не удалось загрузить файл или сборку 'file: /// c: \ windows \ system32 \ inetsrv \ MyDll.dll'

Как правильно назвать исполняемый файл:

Пока я пробовал это:

 using (var p = new System.Diagnostics.Process())
            {
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.RedirectStandardInput = true; 
                p.StartInfo.FileName = downloaderPath;
                p.Start();
                string o = p.StandardOutput.ReadToEnd();
                string i = p.StandardError.ReadToEnd(); 
                p.WaitForExit();
            }

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Добавьте это:

p.StartInfo.WorkingDirectory = "c:\mydir\";

Если вы этого не сделаете, исполняемый файл будет запущен из каталога, в котором работает IIS (c: \ windows \ system32 \ inetsrv).

1 голос
/ 16 ноября 2010

Добавить эту строку:

p.StartInfo.WorkingDirectory = Path.GetDirectoryName(downloaderPath);
...