Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 24894|Відповідь: 0

[Джерело] Stream Stream використовує кілька заходів безпеки

[Копіювати посилання]
Опубліковано 02.08.2019 13:52:30 | | | |
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
Виняток, створений системним журналом, показано на наступному рисунку:



Причина винятку в тому, що коли я зберігаю стрім, система зчитує його розмір понад розмір потоку.

Використайте один і той самий потік двічі, щоб позначити 2 бали:

1. Stream зберігає позицію: Stream.Position, що відображає позицію в поточному потоку, і кожне читання починається з цієї позиції, а після завершення зчитування ця позиція встановлюється на останню позиціюПерший раз, коли я читаю весь стрім, позиція доходить до кінця, а вдруге я не можу прочитати контент.Тож потрібно встановити контекст перед другим читанням. Request.InputStream.Position=0;

2. Оператор використання не може використовуватися для першого читання. Оператор using фактично додає try, а потім блок, у якому виконується метод Dispose об'єкта. Таким чином, друге читання не міститиме жодного контенту.


Код розв'язання:

Перед збереженням потоку викликайте наступний код:







Попередній:Baidu Wangpan обходить обмеження VIP і покращує швидкість завантаження
Наступний:Впровадження та практика NoSQL баз даних (на основі MongoDB та Redis)
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com