我在 IIS 7.5、Windows 2008 Server 上的 ASP.NET 中很难让 FTP 工作。这在我的开发环境中是有效的,该环境位于 Windows 7 上,也使用 IIS 7.5。它还可以在 VS2010 中运行内置 Web 服务器。
我在 Stack Overflow 上有一个关于此问题的问题:https://stackoverflow.com/q/6530419/18893。
但是,我很确定这是某种权限问题。我可以通过 IIS MMC 更改网站运行的用户吗?如果可以,我应该拥有什么样的权限才能使用 FTP 传输文件?我不认为这是防火墙问题,因为当我以管理员身份通过 RDP 登录时,我可以手动发送 FTP 文件,这与 Web 用户执行的操作相同。
我需要一些帮助,在其他网站上没有得到任何回复。
答案1
好吧,我一个星期都没能得到答案。我终于找到了如何更改网站运行的用户。它在池中。
- 创建新的应用程序池
- 将基本设置设为.NET Framework 4.0.30319框架版本和“集成”托管管道模式。并勾选“立即启动应用程序池”。
- 在系统上创建本地用户,并授予该用户对网站的文件夹和子文件夹的读写权限。
- 再次单击“应用程序池”。新创建的应用程序池(无论其名称是什么)在 MMC 的右侧面板中单击“高级设置”。然后将“身份”字段设置为新创建的用户。
- 点击网站,在右侧面板上点击“基本设置”,在对话框中将应用程序池设置为第一步创建的应用程序池。
- 停止并重新启动网站。
FTPWebRequests 现已开始工作。
如果有人有更好的解决方案,请回复。如果有人认为这会带来安全问题,也请发布更多信息。