Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 24894|Yanıt: 0

[Kaynak] Stream Stream birden fazla önlem kullanır

[Bağlantıyı kopyala]
Yayınlandı 2.08.2019 13:52:30 | | | |
System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
Sistem günlüğünün oluşturduğu istisna aşağıdaki şekilde gösterilmiştir:



İstisna nedeni, akışı kaydettiğimde, sistemin akışı akışın boyutunun ötesinde okuması.

Aynı akışı iki kez kullanarak 2 puanı not edin:

1. Akış bir pozisyon kaydeder: Akış.Konum, mevcut akıştaki konumu temsil eder ve her okuma bu konumdan başlar, okuma tamamlandıktan sonra bu pozisyon son okuma pozisyonuna ayarlanırİlk yayını tamamında okuduğumda pozisyon sona ulaşıyor, ikinci kez ise içeriği okuyamıyorum.Bu yüzden ikinci okumadan önce bağlamı belirlemen gerekiyor. Request.InputStream.Position=0;

2. İlk okumada kullanma cümlesi kullanılamaz. Using cümlesi aslında bir try ve finally block ekler; burada nesnenin Dispose yöntemi çalıştırılır. Bu şekilde, ikinci okumada herhangi bir içerik olmaz.


Çözüm kodu:

Akışı kaydetmeden önce aşağıdaki kodu çağırın:







Önceki:Baidu Wangpan, VIP kısıtlamalarını aşarak indirme hızını artırıyor
Önümüzdeki:NoSQL veritabanlarının (MongoDB ve Redis temelli) girişi ve uygulaması
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com