C# 代码抛出WebException在.NET3.5中有效,但在4.0中不起作用

C# 代码抛出WebException在.NET3.5中有效,但在4.0中不起作用,c#,asp.net,.net-4.0,ftp,ftpwebrequest,C#,Asp.net,.net 4.0,Ftp,Ftpwebrequest,我正在编写代码来检查文件是否存在。如果文件存在,则应引发WebException。代码如下;如果我在.NET3.5中运行此代码,它会引发WebException,但如果使用.NET4.0,则不会引发异常。我希望抛出异常,以便验证文件是否存在 bool IsExists = true; try { // string ftpServer = "FTP://111.111.111.111/16FebTo15Mar/Backup/MT_Backup/"; string userName

我正在编写代码来检查文件是否存在。如果文件存在,则应引发WebException。代码如下;如果我在.NET3.5中运行此代码,它会引发WebException,但如果使用.NET4.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;

如果您想通过FTP检查文件的存在,那么

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

WebRequestMethods.Ftp.GetDateTimestamp

如果您想通过FTP检查文件的存在,那么

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

WebRequestMethods.Ftp.GetDateTimestamp

不太确定,但尝试ftprequestIs是否仍引发异常?捕获更一般的异常并查看它是什么。不太确定,但尝试ftprequestIs是否仍引发异常?捕获更一般的异常并查看它是什么。另一个想法是使用
request.Method=WebRequestMethods.Ftp.ListDirectoryDetails并解析列表以查找flie。因为并非所有的FTP web请求类型都由Microsoft正确实现。另一个想法是使用
request.Method=WebRequestMethods.FTP.ListDirectoryDetails并解析列表以查找flie。因为并非所有FTP web请求类型都由Microsoft正确实现。