この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 24894|答える: 0

[出典] ストリームストリーム 複数の予防策を講じてください

[リンクをコピー]
掲載地 2019/08/02 13:52:30 | | | |
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
システムログによって投げられた例外は以下の図に示されています:



例外の理由は、ストリームを保存するとシステムがストリームのサイズを超えて読み取ってしまうからです。

同じストリームを2回使って、2つのポイントを挙げます。

1. ストリームは位置を保存します:Stream.Positionは現在のストリーム内の位置を表し、各リードはこの位置から始まり、読み取り完了後は最後の読み取り位置に設定されます最初に配信全体を読むと、その位置が終わりに到達し、2回目は内容が読めません。ですので、2回目の読み込みの前に文脈を設定する必要があります。 Request.InputStream.Position=0;

2. 使用文は初回読みには使えません。 using 文は実際に try、final, block を追加し、オブジェクトの Dispose メソッドを実行します。 こうすることで、2回目の読み込みには内容が含まれません。


解決コード:

フローを保存する前に、以下のコードを呼び出してください:







先の:百度ワンパンはVIP制限を回避し、ダウンロード速度を向上させる
次に:NoSQLデータベースの導入と実践(MongoDBおよびRedisに基づく)
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com