이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 24894|회답: 0

[출처] 스트림: 여러 가지 예방 조치를 취하세요

[링크 복사]
게시됨 2019. 8. 2. 오후 1:52:30 | | | |
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
시스템 로그에서 던지는 예외는 다음 그림에 나타난다:



예외 현상의 이유는 스트림을 저장할 때 시스템이 스트림 크기를 넘어서 스트림을 읽기 때문입니다.

같은 스트림을 두 번 사용해 두 가지 점을 기록하세요:

1. 스트림은 위치를 저장합니다: Stream.Position은 현재 스트림 내 위치를 나타내며, 각 리드는 이 위치에서 시작하며, 이 위치는 읽기가 완료된 후 마지막 리드 위치로 설정됩니다처음에 전체 스트림을 읽었을 때는 위치가 끝나고, 두 번째는 내용을 읽을 수 없습니다.그래서 두 번째 읽기 전에 맥락을 설정해야 합니다. Request.InputStream.Position=0;

2. 사용(using 진술)은 첫 번째 읽기에 사용할 수 없습니다. using 문은 실제로 try, final, block을 추가하며, 여기서 객체의 Dispose 메서드가 실행됩니다. 이렇게 하면 두 번째 읽기에는 아무런 내용이 포함되지 않습니다.


해상도 코드:

플로우를 저장하기 전에 다음 코드를 호출하세요:







이전의:바이두 왕판은 VIP 제한을 우회하고 다운로드 속도를 향상시킵니다
다음:NoSQL 데이터베이스의 소개와 실천 (MongoDB와 Redis를 기반으로 함)
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com