2014-03-04 4 views
1

webappI에 다중 파일을 보내는 winforms 응용 프로그램이 있습니다. 사무실의 서버에 이상이 없습니다. 하지만 서버가 UTAH 상태 일 때도 마찬가지입니다. 작은 파일의 경우에는 정상입니다. 그러나 대용량 파일에는 적합하지 않습니다. 여기웹 API를 사용하여 큰 파일 업로드

if (!Request.Content.IsMimeMultipartContent()) 
      throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); 

     // Save document to disk 
     String rootPath = _repository.Document_AddDirectory(documentID, User); 
     FileStreamProvider provider = new FileStreamProvider(_repository, rootPath, documentID, User); 

     await Request.Content.ReadAsMultipartAsync(provider) 
      .ContinueWith(t => 
      { 
       if (t.IsFaulted || t.IsCanceled) 
       { 
        throw new HttpResponseException(HttpStatusCode.InternalServerError); 
       } 
      }); 
+0

"작동하지 않음"을 정의하십시오. 트레이싱을 시도 했습니까 (Fiddler 등)? – EkoostikMartin

+0

피 들러? 나는 그것을 사용하려했지만 이벤트를 포착 할 수 없었다. 클라이언트 연결이 끊어졌습니다.라는 오류 메시지가 나타납니다. UTAH 서버에서는 작동하지 않습니다. – user2325247

답변

3

하나 개의 서버에 실패 큰 파일 크기의 원인이 될 수는 유타 서버에서 확인 수있는 몇 가지의 web.config 설정입니다 : 우리가 업로드에 사용하는 경우 여기

코드입니다 다른 일을하면서.

httpRuntime maxRequestLength - 요청 스트림의 크기 제한. 기본값은 4096 (4MB)입니다.

httpRuntime executionTimeout는 - 요구되기까지의 시간 (초)의 수는 자동으로이 HttpClient를 함께 할 수있다

+0

Raz - 추측과 후속 질문은 "답변"으로 속하지 않습니다. 이 유형의 응답에 대해 주석을 사용하는 것이 좋습니다. – EkoostikMartin

+0

감사합니다. Ekoo. 내가 왜 투표를했는지 궁금 해서요. 외관상으로는 비록 나의 rep 점수가 50 이상일 때까지 나는 코멘트를 기울이지 않더라도. 스택 오버플로는 나를시키지 않을 것이다. 그래서 대답은 내가 할 수있는 전부입니다. 부적절한 점 사과드립니다. –

+0

web.config 설정이 도움이 될 수있는 구체적인 세부 정보, 연결 위치 및 사용할 값을 포함하여 답변을 향상시킬 수 있습니다. – EkoostikMartin

0

종료됩니다. 필자는 지연된 내용의 파일 스트림을 사용했습니다. 그래서 Bytearraycontent로 변경하고 모든 프로세스를 비동기 버전으로 옮겼습니다.