首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS7.5和.NET 4.0上使用FTPWebRequest时出错

问在IIS7.5和.NET 4.0上使用FTPWebRequest时出错
EN

Stack Overflow用户
提问于 2011-06-30 13:43:33
回答 1查看 696关注 0票数 0

我在ASP.NET have服务中有一个简单的类。它在我的本地系统上运行得很好,甚至在我设置的开发环境中也运行得很好,但每当我尝试在生产服务器上发送文件时,我都会收到以下错误:

代码语言:javascript
复制
Exception Error: The underlying provider failed on Open.

下面是被调用的代码:

代码语言:javascript
复制
public class FTPHelper
{
        public static string SendFile(string ftpuri, string username, string password, string ftppath, string filename, byte[] datatosend)
        {
            if (ftppath.Substring(ftppath.Length - 1) != "/")
            {
                ftppath += "/";
            }
            FtpWebRequest ftp = (FtpWebRequest) FtpWebRequest.Create( ftpuri + ftppath + filename);
            ftp.Method = WebRequestMethods.Ftp.UploadFile;
            ftp.Credentials = new NetworkCredential(username, password);
            ftp.UsePassive = true;
            ftp.ContentLength = datatosend.Length;
            Stream requestStream = ftp.GetRequestStream();
            requestStream.Write(datatosend, 0, datatosend.Length);
            requestStream.Close();

            FtpWebResponse ftpresponse = (FtpWebResponse)ftp.GetResponse();

            return ftpresponse.StatusDescription;
        }
    }

如何解决此问题。服务器是在Windows 2008 Server上运行的IIS 7.5。我使用的是.NET 4.0。FtpWebResponse不工作有什么简单的原因吗?

如果这是一个安全问题,那么有什么方法可以绕过它吗?我得马上把它修好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-07 01:38:56

这是一个安全问题,网站正在运行的用户没有建立FTP连接的权限。我是一个程序员,而不是一个网站管理员,所以我不知道如何做到这一点。在搜索了Microsoft在IIS上的IIS帮助后,我终于找到了它的方法。更改用户的解决方案是在SuperUser上:

https://superuser.com/q/307168/68967

如果有人有更好的解决方案,请回复。如果任何人觉得这会打开安全问题,也请张贴更多的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6530419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档