본문 바로가기
백엔드/C#

using 키워드

by 1005ptr 2020. 12. 10.
반응형

생각없이 구글링 코드를 복붙하여 작성하다 보면

쓸데없는 삽질을 하게 되는 경우가 있다.

 

이번에는 SpringSecurity와 인증 요청 및 응답 처리를 구현하다가 발생한 문제

 

using은 보통 DB Connection, File, Stream 등의 묵직한 객체를 쓸때 사용하는 문장이다.

HTTP 요청을 하니까 역시 Stream에 using을 써놓고 getResponseStream() 값을 반환했다.

 

 

근데 using은 범위를 벗어나면 해당 자원을 자동으로 해제한다.(Dispose)

해제된 자원은 보통 연결을 가지는 클래스들이 많으니 위 코드가 문제가 된것..

그 객체의 사용이 현재 블록에서 마무리되지 않는 경우 그냥 using을 사용하지 않아야 하겠다.

반응형

댓글