By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,173 Members | 1,079 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,173 IT Pros & Developers. It's quick & easy.

Response Object - Cache Problem. It's not clearing.

P: n/a
PD
I am trying to stream out a PDF file via the response object and when I
execute the code it always brings up the first document that I pulled
up.Even when I step through the code, I can see the new values in
theData string array (see code below), but it serves up the first
document that I had run this code with. I streamed theData into a text
file to look at the values and it contained the appropriate ones for
the new document. Even when I close out of the browser or clear out IE
variables, etc. it still always pulss up the first document. I'm
thinking it could be a cache issue, but everything I have tried in
clearing out the cache has not been successful.

Private Sub CreatePDF()
Dim imgFactory As New CFN.DataServices.Imaging.ImagingFactory
Dim oDataset As DataSet
Dim oPDF As New WebSupergoo.ABCpdf4.Doc
Dim oPDFBytes As WebSupergoo.ABCpdf4.Doc

Dim bytes() As Byte
Dim imgString As String
Dim pageID As Int32
Dim pageCount As Int32 = 1

Response.Cache.SetCacheability(HttpCacheability.No Cache)
Response.Cache.SetExpires(Now())
Response.ClearHeaders()
Response.ClearContent()

'Response.Expires = -1
'Response.Buffer = True
'Response.Clear()
''Response.Cache.SetNoServerCaching()
''Response.ExpiresAbsolute = New DateTime(2002, 1, 1, 0, 0, 0)
''Response.CacheControl = "Public"
''Response.CacheControl = "no-cache"
''Response.Cache.SetNoStore()

'create temporary license
oPDF.SetInfo(0, "License",
ConfigurationSettings.AppSettings("abcPDFLicenseKe y"))
'populate the dataset from session
oDataset = CType(Session("dsSelectedImageList"), DataSet)

For Each oDataRow As DataRow In oDataset.Tables(0).Rows
Dim docID As New
CFN.DataServices.Imaging.DocumentIdentifier
Dim sReportID As String = CType(oDataRow.Item("reportID"),
String)
Dim sReportVersionID As String =
CType(oDataRow.Item("versionID"), String)
Dim sReportSectionID As String =
CType(oDataRow.Item("sectionID"), String)
oPDFBytes = New WebSupergoo.ABCpdf4.Doc

docID.ReportID = sReportID
docID.SectionID = sReportSectionID
docID.VersionID = sReportVersionID

If sReportID = "CONF" Then
oPDFBytes.Read(imgFactory.TradeConfirmOverlay(docI D,
Page.User.Identity.Name))
Else
oPDFBytes.Read(imgFactory.GetPDFBytes(docID,
Page.User.Identity.Name))
End If

oPDF.Append(oPDFBytes)
oPDFBytes.Clear()
oPDFBytes = Nothing
Next

Dim theData() As Byte
theData = oPDF.GetData

oPDF.Clear()
oPDF = Nothing

Dim d As Date = Now()

Response.ContentType = "application/pdf"
Response.AddHeader("Pragma", "no-cache")
Response.AddHeader("Expires", "-1")
Response.AddHeader("content-disposition", "inline; filename=" +
Session.SessionID + CType(d.Second, String) + CType(d.Minute, String) +
"ImagePacket.pdf;")
Response.AddHeader("content-length", theData.Length.ToString())

Response.BinaryWrite(theData)
'Response.OutputStream.Write(theData, 0, theData.Length)

'Dim fs As FileStream
'fs = File.Create("c:\temp\test.txt")
'Dim sw As StreamWriter
'sw = New StreamWriter(fs)
'sw.Write(System.Text.Encoding.ASCII.GetString(the Data))

'Response.Write(System.Text.Encoding.ASCII.GetStri ng(theData))
Response.Flush()
Response.Close()
Response.End()

End Sub

I have tried setting the cache properities between the HTML HEAD tags
as per suggested with other posts, to no avail. I have tried running
the application from another PC to see if anything would change. I
checked my IE settings to ensure page is being refreshed for every
visit to the page. The application is running on my localhost.

Any suggestions/insight would be greatly appreciated!
Pat

Nov 19 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.