대략 위와 같이 생긴 메서드 입니다.
(소스코드는 위가 전부입니다. 아래 부분은 그저 try ~ catch와 로그메시지 찍는 부분밖에 없습니다)
분명 저기다가 브레이크 포인트 찍고 하나하나 실행시키면 웹서버에 잘 업로드가 되는데
브레이크 포인트를 안찍으면 업로드가 안됩니다..
Async 함수라 그런건가요 ㅜㅜ
과제 제출이 얼마남지 않았는데 도와주세요 ..
--추가--
조금 설명을 덧붙이자면,
위 메서드를 실행하기 전에 이미지 파일들을 동영상 파일로 만들어 파일시스템에 저장하고,
그 경로명을 위 메서드로 전달하면,
파일시스템에 있는 비디오를 읽어서 Http 프로토콜로 웹서버로 Post하는 메서드입니다
내부에 브레이크 포인트를 걸고 코드 하나하나 실행하면 서버로 업로드가 잘 됩니다.
하지만 브레이크 포인트를 걸지 않으면 서버로 업로드가 안됩니다
(디버깅 모드에서도)
어디서 문제가 발생하는지 감이 잡히지 않아 질문을 남기게 되었습니다
-- 추가 --
ㅜㅜ 죄송합니다. 문제 질문이 조금 잘못되어 질문을 조금 수정하겠습니다.
로그기록을 확인해 본 결과,
브레이크 포인트를 찍은 경우에는 문제없이 잘 전송되는걸 확인했습니다.
하지만
브레이크 포인트를 찍지 않은 경우에는
[2015-11-24 오전 2:20:23]
Message : System.AggregateException: 하나 이상의 오류가 발생했습니다. ---> System.Net.ProtocolViolationException: 스트림에 쓸 바이트가 지정된 Content-Length 바이트 크기를 초과합니다.
위치: System.Net.ConnectStream.InternalWrite(Boolean async, Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
위치: System.Net.ConnectStream.BeginWrite(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
위치: System.Net.Http.StreamToStreamCopy.TryStartWriteSync(Int32 bytesRead)
위치: System.Net.Http.StreamToStreamCopy.BufferReadCallback(IAsyncResult ar)
--- 내부 예외 스택 추적의 끝 ---
위치: System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
위치: WebManager.PushToServer(DetectedThing detectedThing, String url, String videoPath) 파일 D:\cloud\OneDrive\MyApps\Moving Object Detection CCTV\Moving Object Detection CCTV\Utils\WebManager.cs:줄 53
---> (내부 예외 #0) System.Net.ProtocolViolationException: 스트림에 쓸 바이트가 지정된 Content-Length 바이트 크기를 초과합니다.
위치: System.Net.ConnectStream.InternalWrite(Boolean async, Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
위치: System.Net.ConnectStream.BeginWrite(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
위치: System.Net.Http.StreamToStreamCopy.TryStartWriteSync(Int32 bytesRead)
위치: System.Net.Http.StreamToStreamCopy.BufferReadCallback(IAsyncResult ar)<---
와 같은 로그기록이 남아있는 걸 확인할 수 있었습니다.
잘 이해가 안가네요..;
혹시나 해서 업로드되는 비디오의 사이즈를 체크해봐도 별 차이는 없습니다
(231kb, 228k)
왜 이런지 감이 잡히지 않습니다