webForumDet fria alternativet

Session vill inte lagra värde.

.NET

3 svar · 256 visningar · startad av SilvioF

Medlem sedan juni 2000547 inlägg
Frågan#1

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 på Pellesoft.se

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?

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
Medlem sedan juni 2000547 inlägg
#2

Äh.. Kom på hur det skulle vara.

Session.Add("currencyUSD", GetCurrency("USD"))
Medlem sedan nov. 2003569 inlägg
#3

Men det låter underligt att du inte får något värde om du gör en

Session("currencyUSD") = GetCurrency("USD")

nån som vet varför inte det funkar?, vore kul att veta.

Medlem sedan apr. 20012 266 inlägg
#4

Troligen är det så att .Add() måste användas för att skapa en ny instans som sedan kan sättas och hämtas via Session[""]. Min gissning...

259 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)