我能够通过 IIS 管理器管理 FTP 站点,但是,到目前为止,使用其他方式管理 FTP 站点状态的所有尝试都失败了,包括:
- 使用 IIS7 API ( Microsoft.Web.Administration )
- 使用 WMI(启用 IIS6 兼容性)
- 使用AppCmd System32\inetsrv 中的工具
相关问题:
有没有我没有尝试过的解决方法?我的目标是使用 C# 代码管理(启动/停止/查询状态)FTP 站点(正如您从上述 3 种尝试的解决方法中看到的那样)。
当使用 WMI 查询 FTP 服务器状态时,它返回代码 4,表示“已停止”,即使该站点在 IIS 管理器中明确显示为正在运行。
AppCmd 没有用,因为它为 FTP 站点返回“未知”:
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)
最佳答案
我管理状态的解决方法是将 ServerAutoStart 设置为 false,然后重新启动 ftpsvc Windows 服务。到目前为止,我还没有找到检测特定 FTP 服务器状态的方法(IIS 可以有多个具有不同绑定(bind)的 FTP 服务器)。
关于c# - 在 IIS7 中以编程方式管理 FTP 服务器的状态实际上是可能的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006293/