Har en aspx-sida där jag skapar ett cacheobjekt som har filreferens till en textfil som uppdateras var 30:e minut. Detta för att slippa läsa filen mer än när den har förändrats. Du får hämta sidans cache object med hjälp av <b>HttpContext.Current</b>. Den ligger i System.Web.Sätta/hantera Cacheobjekt i klassfil?
Nu skulle jag vilja få in denna Cache-hantering i en klassfil eftersom jag antagligen kommer att nyttja denna funktionalitet på fler sidor än den jag idag har.
Jag lyckas inte skapa det Cacheobjekt i klassfilen som jag vill.
[snuttar ur originalkod i aspx]
<code>
Imports System.IO
Imports System.Web.Caching
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Cache("timedata") Is Nothing Then
SetCacheData()
End If
End Sub
Private Function GetValue(ByVal TimeToGet As String) As String
Dim i As Integer
Dim strReturnValue As String
For i = 10 To UBound(Cache("timedata"))
If Cache("timedata")(i) = TimeToGet Then
strReturnValue = Cache("timedata")(i + 1)
End If
Next
GetValue = strReturnValue
End Function
</code>
[kodsnutt ur min tänkta klassfil]
<code>
Imports System.IO
Imports System.Web.Caching
Public Sub New(ByVal FileName As String)
Dim cCache As New Cache
If cCache("timedata") Is Nothing Then
SetCacheData(FileName)
End If
End Sub
</code>
Jag får fel på raden med:
If cCache("timedata") Is Nothing Then
"Object reference not set to an instance of an object."
Hur skall jag kunna använda Cacheobjektet i min klass för att jag skall kunna använda det på varje sida i applikationenSv: Sätta/hantera Cacheobjekt i klassfil?
Cache objektet är nämligen knutet till en specifik asp.net applikation.