Example #1
0
        /// <summary>
        /// FTP로 요청을 보낸다. 응답을 받지만 파싱하지는 않는다.
        /// </summary>
        /// <param name="request"></param>
        internal static void SendRequestOnly(FtpWebRequest request) {
            request.ShouldNotBeNull("request");

            using(request.GetResponse()) {
                if(IsDebugEnabled)
                    log.Debug("Send request... no response parsing...");
            }
            request = null;
        }
Example #2
0
        /// <summary>
        /// <paramref name="ftpClient"/>를 이용하여 비동기 방식으로 웹 응답을 받습니다.
        /// </summary>
        /// <param name="ftpClient"></param>
        /// <param name="request">Ftp 웹 요청 객체</param>
        /// <returns></returns>
        /// <example>
        /// <code>
        ///		// 특정 파일을 FTP 서버에서 다운로드 받습니다.
        ///		var responseTask = ftpClient.GetResponseTask(uri, WebRequestMethods.Ftp.DownloadFile);
        ///		var stream = ((FtpWebResponse)responseTask.Result).GetResponseStream();
        /// </code>
        /// </example>
        /// <seealso cref="GetResponseStreamTask"/>
        public static Task<WebResponse> GetResponseTask(this FtpClient ftpClient, FtpWebRequest request) {
            request.ShouldNotBeNull("request");

            if(IsDebugEnabled)
                log.Debug("Ftp ResponseStream을 비동기 방식으로 호출합니다. uri=[{0}], method=[{1}]", request.RequestUri, request.Method);

            return Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse,
                                                       request.EndGetResponse,
                                                       null);
        }