0

これを実行するWebサービスがあります:

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

バットファイルには次のものがあります。

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

(サーバー上の) localhost で実行すると、正常に動作します。ただし、Web サービスからサーバーで実行すると失敗します。

appcmd純粋な C# コードと同じ機能を実現できますか?

編集

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

2 に答える 2

1

C# から appcmd を直接呼び出して、同様のことを行いました。私のケースを元の質問に適応させると、コードは次のようになります。

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\"
    });
于 2013-04-11T12:23:43.330 に答える
1

できるようです。このコード例を確認してください。

于 2011-12-21T05:55:54.943 に答える