카테고리 없음

Unable to read data from the transport connection: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다. 오류

파이팅야 2016. 2. 25. 17:14

.net HttpClient를 사용해서 외부 http API 호출하고 있는데

'Unable to read data from the transport connection: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다' exception이 발생하는 경우 


https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10 문서의 내용보면  

'keep alive(persistence connection)를 하지 않을려면 Connection : Close를 명시적으로 붙여줘야 한다'는 내용이 있음

해당 내용을 보고 .net쪽 HttpClient library가 'Connection'header값이 없으면 keep alive로 동작하게 한것 같음 만약 아래코드가 없으면 keep-alive로 동작함

RequestHeaders headers = new RequestHeaders();

headers.Add("Connection", "close");

예전에도 비슷한 상황이 있었는데... 자꾸 까먹어 적어 놔야겠다. ㅋ