سلام به همه دوستان
من برنامه به شکل زیر نوشتم . توضیح مختصری میدم . این برنامه میاد یه pdf رو که در فولدر files هست توسط کامپوننت Winnovative.PDFSecurity امن می کنه و بعد در فولدر temps ذخیره می کنه . بعد من برای اینکه محل اصلی فایل لو نره اون رو استریم می کنم و می دم به یوزر تا دانلود بکنه و بعد هم پاکش می کنم . برنامه کار می کنه . به این صورت که کاربر ب راحتی فایل را دانلود می کنه و دانلود تموم میشه . اما بعد از دانلود (حدوداً 30 ثانیه بعد ) که هنوز صفحه aspx مربوطه باز هست vs ارور زیر رو روی خطی از برنامه که مشخص کردم می ده(خط bold شده ) . دوستان مشکل کجاست ؟ چرا بعد از دانلود ! ؟

خطا :
The process cannot access the file 'C:\Documents and Settings\Mansoor\My Documents\Visual Studio 2008\Projects\DownLoad\DownLoad\Temps\test.pdf' because it is being used by another process.


کد برنامه :



ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As EventArgs) Handles Button1.Click
Dim FileURL AsString = Server.MapPath("files\951.pdf")
Dim TempURL AsString = Server.MapPath("Temps")
Dim PdfSecurityOption AsNew Winnovative.PDFSecurity.PdfSecurityOptions
PdfSecurityOption.CanPrint = False
PdfSecurityOption.OwnerPassword = "100"
PdfSecurityOption.UserPassword = "100"
Dim PdfSecurityManager AsNew PdfSecurityManager(PdfSecurityOption)
PdfSecurityManager.SaveSecuredPdfToFile(FileURL, TempURL & "\test.pdf")
Dim FileStream AsNew FileStream(TempURL & "\test.pdf", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim FileBuffer() AsByte = NewByte(CInt(FileStream.Length) - 1) {}
FileStream.Read(FileBuffer, 0, CInt(FileStream.Length))
Response.Clear()
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "attachment; filename=" + "saeideh.pdf")
Response.AddHeader("Content-Length", FileStream.Length.ToString())
FileStream.Close()
File.Delete(TempURL & "\test.pdf")
Response.BinaryWrite(FileBuffer)
EndSub



واقعاً لطف می کنید اگر راهنمایی بفرمایید .
ممنون