是否有可能以编程方式管理IIS7中FTP服务器的状态?

时间:2010-06-09 13:35:35

标签: c# iis-7

我可以通过IIS管理器管理FTP站点,但到目前为止,使用其他方式管理FTP站点状态的所有尝试都失败了,包括:

  1. 使用IIS7 API(Microsoft.Web.Administration
  2. 使用WMI(启用IIS6兼容性)
  3. 使用System32 \ inetsrv中的AppCmd工具
  4. 相关问题:

    有没有我没试过的变通办法?我的目标是使用C#代码管理(启动/停止/查询状态)FTP站点(正如您从上面的3个尝试的解决方法中可以看到的那样)。

    当使用WMI查询FTP服务器状态时,它返回代码4,这意味着“已停止”,即使该站点明确显示为在IIS管理器中运行。

    AppCmd没用,因为它为FTP站点返回“Unknown”:

    c:\Windows\System32\inetsrv>appcmd list site
    SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Stopped)
    SITE "Default FTP Site" (id:2,bindings:ftp/*:21:,state:Unknown)
    

2 个答案:

答案 0 :(得分:-1)

管理状态的解决方法是将ServerAutoStart设置为false,然后重新启动ftpsvc Windows服务。到目前为止,我还没有找到一种检测特定FTP服务器状态的方法(IIS可以有多个具有不同绑定的FTP服务器)。

答案 1 :(得分:-2)

确定状态,您可以尝试连接。

管理状态,我没有任何建议,我会将我的芯片放在WMI上。