다음을 통해 공유


FtpWebRequest.GetResponse 메서드

정의

FTP 서버 응답을 반환합니다.

public:
 override System::Net::WebResponse ^ GetResponse();
public override System.Net.WebResponse GetResponse();
override this.GetResponse : unit -> System.Net.WebResponse
Public Overrides Function GetResponse () As WebResponse

반환

WebResponse 인스턴스가 들어 있는 FtpWebResponse 참조입니다. 이 개체에는 요청에 대한 FTP 서버의 응답이 들어 있습니다.

예외

GetResponse() 또는 BeginGetResponse(AsyncCallback, Object)가 이 인스턴스에 대해 이미 호출된 경우

또는

HTTP 프록시를 사용하도록 설정되어 있고 DownloadFile, ListDirectory 또는 ListDirectoryDetails 이외의 FTP 명령을 사용하려고 한 경우

EnableSsltrue로 설정되었지만 서버에서 이 기능을 지원하지 않는 경우

또는

Timeout이 지정되었고 제한 시간이 만료되었습니다.

예제

다음 코드 예제에서는 요청의 데이터 스트림에 파일을 복사 하 고 서버에 데이터를 추가 하는 요청을 보내는 방법을 보여 줍니다. 이 예제에서는 를 호출 GetResponse 하여 요청을 보내고 서버에서 응답이 반환될 때까지 차단합니다.

public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
    // The URI described by serverUri should use the ftp:// scheme.
    // It contains the name of the file on the server.
    // Example: ftp://contoso.com/someFile.txt.
    // The fileName parameter identifies the file containing
    // the data to be appended to the file on the server.

    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.AppendFile;

    StreamReader sourceStream = new StreamReader(fileName);
    byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    sourceStream.Close();
    request.ContentLength = fileContents.Length;

    // This example assumes the FTP site uses anonymous logon.
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(fileContents, 0, fileContents.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();

    Console.WriteLine("Append status: {0}",response.StatusDescription);

    response.Close();
    return true;
}

설명

FTP 관련 속성에 액세스하려면 이 메서드FtpWebResponse에서 반환된 개체를 WebResponse 로 캐스팅해야 합니다.

GetResponse 는 컨트롤 연결이 설정되고 데이터 연결을 만들 수도 있습니다. GetResponse 는 응답을 받을 때까지 차단합니다. 이를 방지하기 위해 대신 GetResponseEndGetResponse 메서드를 BeginGetResponse 호출하여 이 작업을 비동기적으로 수행할 수 있습니다.

속성이 Proxy 직접 또는 구성 파일에서 설정된 경우 FTP 서버와의 통신은 프록시를 통해 이루어집니다.

WebException throw되면 예외의 ResponseStatus 속성을 사용하여 서버의 응답을 확인합니다.

애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

참고

동일한 응답 개체를 반환하기 위한 GetResponse 여러 호출입니다. 요청이 다시 실행되지 않습니다.

호출자 참고

이 메서드는 네트워크 트래픽을 생성합니다.

적용 대상

추가 정보