код appcmd в C #? - PullRequest
       77

код appcmd в C #?

0 голосов
/ 21 декабря 2011

У меня есть веб-сервис, который запускает это:

 var Proc = new Process();
                Proc.StartInfo.FileName = CredentialBatFile;
                Proc.StartInfo.Arguments = WebSiteName + " " + Apppool_Username 
                                                    + " " + Apppool_Password;
                Proc.Start();

Файл bat имеет:

C:\Windows\system32\inetsrv\appcmd.exe set site "%1" 
              -virtualDirectoryDefaults.userName:%2 
              -virtualDirectoryDefaults.password:%3

Если я запускаю на localhost (на сервере), он работает нормально.однако, если я запускаю его на сервере из веб-службы, он не работает.

Можно ли выполнить ту же функцию, что и appcmd в чистом коде C #?

РЕДАКТИРОВАТЬ

Exception: Unknown error (0xfffffffe) StackTrace: at    
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) 

Ответы [ 2 ]

1 голос
/ 11 апреля 2013

Я сделал нечто подобное, вызвав appcmd напрямую из c #.Приспосабливая мой случай к оригинальному вопросу, код был бы:

System.Diagnostics.Process.Start(
    new System.Diagnostics.ProcessStartInfo
    {
        Arguments = "set site \""+ WebSiteName + "\" -virtualDirectoryDefaults.userName:"+ Apppool_Username + " -virtualDirectoryDefaults.password:"+ Apppool_Password,
        FileName = "appcmd.exe",
        WorkingDirectory = @"c:\windows\system32\inetsrv\"
    });
0 голосов
/ 21 декабря 2011

Похоже, вы можете. Проверьте этот пример кода.

...