현재 C# .net으로 ASP 응용 프로그램을 개발 중입니다. 큰 (10GB) SQLite 데이터베이스를 쿼리하고 HTTP 응답에 CSV 형식으로 데이터를 써야합니다. 나는 데이터의 적은 양의 파일을 작동이HTTP 응답에 큰 파일을 작성하십시오.
/*query database, use string builder to create a csv*/
Response.ContentType = "text/plain";
Response.AddHeader("Content-Length", result.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=\"Data.csv\"");
Response.Write(result);
Response.Flush();
을하고있는 중이 야. 그러나 파일 크기가 커지면 OutOfMemoryException이 발생합니다. StringBuilder를 사용하여 문자열을 생성하면 문제가 발생한다고 생각합니다. 나는이 문제를 해결할 방법을 찾아 내지 못한다. 누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까?
무엇을 목표로하고 싶니? 이 파일을 클라이언트 또는 다른 것으로 다운로드 하시겠습니까? 귀하의 응용 프로그램은 asp.net mvc 또는 webforms 있습니까? –
나는 이렇게하기 위해 http를 사용하는 것이 좋은 전략이라고 생각하지 않는다. 내 생각 엔 자바 스크립트지만 서버 측에서 실제로는 C#이라고 생각했다. 그러나 클라이언트가 이것을 어떻게 처리 할 것인가? 내가 생각하는 것과 같은 영향으로 응답 할 것입니다 ... – memosdp
클라이언트 쪽 클라이언트에 파일 다운로드 프롬프트가 표시됩니다. 그리고 응용 프로그램은 webforms에 있습니다. @Kirill – Muctadir