Jag har en funktion som hämtar aktuella valutakurser direkt från Yahoo Finance. Den koden kan ni se nedan. Funktionen är en vb-version av den jag fick från Arathorn. Äh.. Kom på hur det skulle vara.Session vill inte lagra värde.
Problemet är att om jag anropar funktionen från mitt aspx-dokument så fungerar allting utmärkt och jag får tillbaka rätt värden. Jag anropar funktionen med t.ex GetCurrency("USD") för att få fram aktuell kurs för US$. Om jag däremot skriver så här: Session("currencyUSD") = GetCurrency("USD") så blir sessionsvariabeln tom, vilket den inte bör bli enligt mig.
Är det jag som har missat någonting vesäntligt angående sessionsvariabler i vb.net eller?
<code>Public Function GetCurrency(ByVal symbol As String) As Double
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US")
Dim ret As Double = 0
Dim url As String = "http://finance.yahoo.com/d/quotes.csv?s=" + symbol + "SEK=X&f=sl1d1t1c1ohgv&e=.csv"
Dim objRequest As WebRequest = WebRequest.Create(url)
Dim objResponse As WebResponse = objRequest.GetResponse()
Dim oSR As StreamReader = New StreamReader(objResponse.GetResponseStream())
Dim strContent As String = oSR.ReadToEnd()
Dim things() As String = strContent.Split(",")
Try
If (things.Length > 2) Then
ret = CType(things(1), Double)
End If
Catch e As Exception
ret = Double.MinValue
End Try
Return ret
End Function</code>Sv: Session vill inte lagra värde.
Detta verkar fungera alldeles utmärkt:
<code>Session.Add("currencyUSD", GetCurrency("USD"))</code>