appcmd code in C#?

本文关键字:in code appcmd | 更新日期: 2023-09-27 18:18:22

我有一个web服务是这样运行的:

 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

如果我在本地主机上运行(在服务器上),它工作得很好。但是,如果我从web服务在服务器上运行它,它会失败。

我可以在纯c#代码中实现与appcmd相同的功能吗?

编辑

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

appcmd code in C#?

看起来可以。查看下面的示例代码:

我通过直接从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'"
    });