필자는 파일 업로드를 허용하는 ServiceStack에 웹 서비스를 작성했습니다. 나는 다음과 같은 코드를 사용했습니다를 테스트하려면 :파일 업로드를 처리하는 웹 서비스가 로컬에서는 작동하지만 원격에서는 작동하지 않습니다.
string filePath = @"C:\myFile.pdf";
string webApi = @"http://localhost:20938/upload/myFile.pdf";
HttpWebRequest client = (HttpWebRequest)WebRequest.Create(webApi);
client.Method = WebRequestMethods.Http.Post;
client.AllowWriteStreamBuffering = false;
client.SendChunked = true;
client.ContentType = "multipart/form-data;";
client.Timeout = int.MaxValue;
using (FileStream fileStream = File.OpenRead(filePath))
{
fileStream.Copy(client.GetRequestStream());
}
var response = new StreamReader(client.GetResponse().GetResponseStream()).ReadToEnd();
이 로컬 호스트와 함께 작동하지만 원격 서버에 배포 할 때, 그것은 작동하지 않습니다. 500 내부 오류가 발생했습니다. JSON 데이터를 반환하는 다른 웹 API 호출은 완벽하게 로컬 및 원격으로 작동합니다.
어떻게 수정/디버깅합니까?
문제를 해결 했습니까? – stefan2410
아니요. AllowWriteStreamBuffering = true를 시도했지만 작동하지 않았습니다. 필자는 원격 디버거를 설치하지 못했습니다. 코드를 주석 처리하고 배치하므로 문제가있는 부분을 지적 할 수 있습니다. 스택 추적을 얻을 수있는 방법이 있었으면 좋겠어. – Gerson
서비스 기록 로깅을 사용합니까? 또한 서버 포트를 차단하는 방화벽이 있습니까? 당신은 서버의 코드를 쓸 수 있습니까? – stefan2410