Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 24894|Odpoveď: 0

[Zdroj] Stream Stream používa viacero opatrení

[Kopírovať odkaz]
Zverejnené 2. 8. 2019 13:52:30 | | | |
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
Výnimka vyhodená systémovým logom je znázornená na nasledujúcom obrázku:



Dôvodom tejto výnimky je, že keď uložím stream, systém číta stream nad rámec veľkosti streamu.

Použite ten istý prúd dvakrát, aby ste si zaznamenali 2 body:

1. Stream uloží pozíciu: Stream.Position, ktorá predstavuje pozíciu v aktuálnom toku, a každé čítanie začne z tejto pozície, pričom táto pozícia sa po dokončení čítania nastaví na poslednú čítaciu pozíciuPrvýkrát, keď čítam celý stream, pozícia sa dostane na koniec, a druhýkrát nemôžem čítať obsah.Takže musíte nastaviť kontext pred druhým čítaním. Request.InputStream.Position=0;

2. Príkaz using sa nedá použiť pri prvom čítaní. Príkaz using vlastne pridáva try, finally block, v ktorom sa vykoná metóda Dispose objektu. Týmto spôsobom druhé čítanie nebude obsahovať žiadny obsah.


Kód rozlíšenia:

Pred uložením toku zavolajte nasledujúci kód:







Predchádzajúci:Baidu Wangpan obchádza VIP obmedzenia a zlepšuje rýchlosť sťahovania
Budúci:Úvod a prax NoSQL databáz (založených na MongoDB a Redis)
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com