采用FtpWebRequest访问远程FTP,遇远程连接失败时,程序需要一个较长的等待时间,有没有办法可以判断出此种情况并快速结束些连接,继续运行下面的程序代码???
求高手指教!!!!!

解决方案 »

  1.   

    可以的。
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();
    得到了FtpWebResponse之后查看一下StatusCode,这个表示连接状态代码的。
      

  2.   

    FtpStatusCode指定为文件传输协议 (FTP) 操作返回的状态代码。AccountNeeded 指示需要服务器上的用户帐户。  
     ActionAbortedLocalProcessingError 指示发生了阻止完成请求操作的错误。  
     ActionAbortedUnknownPageType 指示不能采取请求的操作,因为指定的页类型是未知的。RFC 959 的 3.1.2.3 节中介绍了页类型  
     ActionNotTakenFilenameNotAllowed 指定无法对指定文件执行请求的操作。  
     ActionNotTakenFileUnavailable 指定无法对指定文件执行请求的操作,原因是该文件不可用。  
     ActionNotTakenFileUnavailableOrBusy 指定无法对指定文件执行请求的操作,原因是该文件不可用或正在使用中。  
     ActionNotTakenInsufficientSpace 指示不能执行请求的操作,因为服务器上没有足够的空间。  
     ArgumentSyntaxError 指示一个或多个命令参数具有语法错误。  
     BadCommandSequence 指示命令序列的顺序不正确。  
     CantOpenData 指示无法打开数据连接。  
     ClosingControl 指示服务器正在关闭管理连接。  
     ClosingData 指示服务器正在关闭数据连接,并且请求的文件操作成功。  
     CommandExtraneous 指示服务器未执行该命令,因为无需此命令。  
     CommandNotImplemented 指示 FTP 服务器未执行该命令。  
     CommandOK 指示命令成功完成。  
     CommandSyntaxError 指示命令具有语法错误或不是服务器可识别的命令。  
     ConnectionClosed 指示连接已关闭。  
     DataAlreadyOpen 指示数据连接已打开并且请求的传输已开始。  
     DirectoryStatus 指示目录状态。  
     EnteringPassive 指示服务器正在进入被动模式。  
     FileActionAborted 指示不能执行请求的操作。  
     FileActionOK 指示请求的文件操作成功完成。  
     FileCommandPending 指示请求的文件操作需要其他信息。  
     FileStatus 指示文件状态。  
     LoggedInProceed 指示用户已登录且可发送命令。  
     NeedLoginAccount 指示服务器需要提供登录帐户。  
     NotLoggedIn 指示登录信息必须发送到服务器。  
     OpeningData 指示服务器正在打开数据连接。  
     PathnameCreated 指示请求的路径名已创建。  
     RestartMarker 指示响应包含一个重新启动标记回复。此状态附带的说明文本包含用户数据流标记和服务器标记。  
     SendPasswordCommand 指示服务器需要提供密码。  
     SendUserCommand 指示服务器已能进行用户登录操作。  
     ServerWantsSecureSession 指示服务器接受客户端指定的身份验证机制,并且安全数据交换完成。  
     ServiceNotAvailable 指示此服务不可用。  
     ServiceTemporarilyNotAvailable 指示此服务现在不可用;请稍后再试您的请求。  
     SystemType 指示使用 Internet Assigned Numbers Authority(Internet 号码分配机构)出版的 Assigned Numbers(号码分配)文档中发布的系统名的系统类型名称。  
     Undefined 包含此值是为了完整性,服务器从不返回此值。  
      

  3.   

    但是一运行
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri); 
    FtpWebResponse response = (FtpWebResponse) request.GetResponse(); 
    如果serverUri是无效地址或网络不通等情况,程序就会进入效长时间的等候,怎么解决这个问题呢?