Microsoft MVP성태의 닷넷 이야기
정석대로 한다면 response.Close() 해야되는지요? [링크 복사], [링크+제목 복사],
조회: 6312
글쓴 사람
SunNee Dong (clickway at naver.com)
홈페이지
첨부 파일
 

안녕하세요.
선생님 질문있습니다.

꼭 답변 부탁드립니다

질문-1) response.Close(); <======== 문법 정석대로 한다면....해제 해야되는 거 아닌지요??
아래 코드에서 메모리해제 같은 "해제" 해야할 것이 있나요?



public bool CreateFolder()
{

           bool IsCreated = true;

           try
           {
                   WebRequest request = WebRequest.Create("ftp://192.168.1.103:24/Index");
                   request.Method = WebRequestMethods.Ftp.MakeDirectory;
                   request.Credentials = new NetworkCredential(user, pw);
                   
                   using (var response = (FtpWebResponse)request.GetResponse())
                   {
                        response.Close(); <===== 문법 정석대로 한다면 Close() 메모리 해제? 해야 누수가 안 생기죠? 여기서 Close() 해야되나요?
                   }
           }
           catch (Exception ex)
           {
               IsCreated = false;
           }
           return IsCreated;
}








[최초 등록일: ]
[최종 수정일: 8/18/2024]


비밀번호

댓글 작성자
 



2024-08-18 08시48분
혹시 using 키워드에 대해 공부하셨나요?
정성태
2024-08-19 07시37분
using에서 Dispose() 호출 해서
response.Close(); 추가로 작성 안해도 되는거 같은데
확신이 안서서요
SunNee Dong
2024-08-19 07시38분
답변 꼭 부탁드립니다
SunNee Dong
2024-08-19 08시19분
확신이 필요할 때는, 제 답변보다는 직접 확인해 보시는 것이 가장 좋습니다. 아래의 도구를 이용하시면,

https://github.com/dnSpy/dnSpy

DLL/EXE의 역어셈블을 해 소스코드를 볼 수 있습니다. 참고로, Visual Studio에서도 역어셈블은 제공하고 있으며, 요즘 learn 사이트의 도움말에는 github로의 소스코드 링크도 직접 제공하고 있으니 그걸 통해 확인하셔도 됩니다.
정성태

NoWriterDateCnt.TitleFile(s)