c# - 在 IIS7 中以编程方式管理 FTP 服务器的状态实际上是可能的吗?

标签 c# iis-7

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

  1. 使用 IIS7 API ( Microsoft.Web.Administration )
  2. 使用 WMI(启用 IIS6 兼容性)
  3. 使用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/

相关文章:

c# - 控制按钮启用属性的复选框 - ASP.NET

c# - 如何使用 ASP.Net Web Api 2 进行部分响应

c# - 弄清楚这个日期格式

asp.net-mvc - 在 MVC 网站上获取 404 错误

c# - 使用 EndOfStream 属性后的 StreamReader.BaseStream 问题

c# - 何时/何地使用 azure 后端刷新 Windows 10 应用程序中的访问 token

asp.net - 防止在 ASP.NET 4.0 中上传大文件

visual-studio-2010 - Web 部署 - 将根部署配置为默认值

Powershell DSC xWebsite 失败

asp.net - 为 IIS7 Web 环境创建符号链接(symbolic link)