Я использую ZipOutputStream
, чтобы получить файлы из базы данных, сжать в zip и загрузить (zip файл около 400mb
).
Во время этого объем памяти пула приложений увеличивается до 1.4gb
, а после завершения загрузки он уменьшается до 1gb
, когда он должен вернуться к значению 100 mb
или к чему-либо.
Есть только около 10 пользователей, использующих это приложение и только 1 пользователь, использующий эту конкретную страницу.
я вызываю метод утилизации. Я также попытался явно вызвать GC.Collect
, но все равно бесполезно.
Я что-то здесь упускаю?
Заранее спасибо.
Dim zipStream = New ZipOutputStream(HttpContext.Current.Response.OutputStream)
Try
da.Fill(ds)
For Each dr As DataRow In ds.Tables(0).Rows
Try
Dim docName As String = ""
strImgID = dr("image_id")
If Not IsDBNull(dr("loan_number")) Then iLoanID = dr("loan_number")
If Not IsDBNull(dr("document_name")) Then docName = dr("document_name")
Dim ext As String = dr("image_type_extension")
Dim strFinalFileName As String = ""
strFinalFileName = docName & "_" & iLoanID & ext
Dim b As Byte() = dr("image_binary")
Dim fileEntry = New ZipEntry(Path.GetFileName(strFinalFileName))
zipStream.PutNextEntry(fileEntry)
zipStream.Write(b, 0, b.Length)
Catch ex As Exception
LogError(ex, iLoanID & "," & strImgID)
AddError(sb, ex, iLoanID & "," & strImgID)
End Try
Next
Catch ex As Exception
Throw
Finally
zipStream.Close()
zipStream.Dispose()
cmd.Connection.Close()
cmd.Connection.Dispose()
End Try