代码抛出WebException在.NET 3.5中有效,但在4.0中无法运行

时间:2012-02-24 06:19:47

标签: c# asp.net .net-4.0 ftp ftpwebrequest

我正在编写代码来检查文件是否存在。如果文件存在,则应抛出WebException。代码如下;如果我在.NET 3.5中运行此代码它会抛出WebException,但如果使用.NET 4.0,则不会引发异常。我想要抛出异常,这样我就可以验证文件的存在。

bool IsExists = true;
try
{
    // string ftpServer = "FTP://111.111.111.111/16FebTo15Mar/Backup/MT_Backup/";
    string userName = "gff";
    // string filename = "sachin";
    string password = "gff@123";
    string ftppath= "FTP://111.111.111.111/16FebTo15Mar/Backup/MT_Backup/bh/"; 
                    // Ftpurl + new FileInfo(EmpFldr).Name + "/";

    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftppath);
    request.Credentials = new NetworkCredential(userName, password);
    request.Method = WebRequestMethods.Ftp.PrintWorkingDirectory;
    // request.Method = WebRequestMethods.Ftp.MakeDirectory;
    FtpWebResponse response = (FtpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
    IsExists = false;
}
return IsExists;

1 个答案:

答案 0 :(得分:0)

如果您想通过FTP检查是否存在文件,请check out this answer

  

我建议使用以下WebRequestMethod,这对我测试的所有服务器都适用,即使是那些不会返回文件大小的服务器。

WebRequestMethods.Ftp.GetDateTimestamp