兩次使用Stream注意事項

兩次使用同一Stream注意一下2點:spa

    1,Stream會保存一個位置:Stream.Position,表示當前流中的位置,每次讀取都是從這個位置開始,而且讀取完成以後會把這個位置設置爲最後讀取的位置,所以第一次讀整個Stream,Position到了末尾,第二次就讀不到內容。因此在第二次讀取前須要設置context.Request.InputStream.Position=0;orm

    2,第一次讀取不能使用using語句。using語句其實是加了一個try,finally塊,在finally中會執行對象的Dispose方法。這樣在第二次讀取的時候Stream就不含任何內容。對象

 

    以上供你們參考,咱們通常使用Stream一次,可能不會遇到這樣的問題,可是使用2次就會遇到這樣的問題。it

相關文章
相關標籤/搜索