보내진 POST 데이터를 처리하는 C#으로 작성된 TCP 서버가 있습니다. 현재 많은 양의 데이터 (1GB 이상)가 전송되지 않으면 메모리가 부족합니다 (목록 DTO를 매개로 바이트 배열로 메모리에 저장). 대용량 파일의 경우 이제 디스크로 스트리밍 한 다음 디스크에서 스트리밍하려는 의도로 파일 이름을 전달합니다.TCP 서버 및 MemoryStreams/ByteArrays
현재 모든 루틴은 바이트 배열이 예상되며, 궁금한 점이 있다면 약간 근시안적입니다. Bytearray를 memorystream로 변환하면 메모리 사용량이 두 배가됩니까? Memorystream에서 작동하도록 코드를 다시 작성하면 디스크에서 스트림을 읽을 때 다시 사용할 수 있습니다.
어리석은 질문에 대해 미안하지만, C#이 데이터 사본을 가져 오거나 참조를받을 때 확신 할 수 없습니다.
OP는 바이트 []를 전달하는 것에 대해 질문하고 있으며 모든 배열이 참조 유형임을 알고 있습니다. 값 유형 (이 경우에는 바이트)을 보유 할 수 있지만 배열 자체는 참조 유형입니다. – trickdev