Avatar billede per2edb Praktikant
18. marts 2011 - 11:51 Der er 13 kommentarer og
1 løsning

Variabel overført mellem web sider uden link

Jeg overfører i dag variabler fra aspx side til axpx side via Session som her vist

<%
Session.Timeout = 120
  Session("SubDomaene")="xxxx"
%>

Det forudsætter casce.

Kan man ikke lave det uden Session via noget global.
Link via aspx?SubDomaene="xxxx" duer ikke da det skal være "Globalt mellem alle sider.

Hvordan gør man det i asp.net4
Avatar billede keysersoze Guru
18. marts 2011 - 12:39 #1
casce?

Selvom der er kommet nyere sprog så er webprotokollen stadig den samme så du har også stadig kun de samme muligheder hvor session altså umiddelbart er den mest oplagte.

Hvad forsøger du at opnå og hvad oplever du problemer?
Avatar billede Slettet bruger
18. marts 2011 - 12:42 #2
Hvis værdierne kun skal bruges i browseren: Cookies..
Avatar billede per2edb Praktikant
18. marts 2011 - 13:26 #3
Det er vist noget af det mest elementære men det beskrives aldrig.
I de gode gamle dage med Basic var det uhyre meget brugt.

Jeg skal såmænd bare have Feks variablen Salg="Sko" tilgængelig mellem alle (Dvs ca 300 sider) web.sider

På siderne skal jeg kunne fange den sådan:
<%
If Salg="Sko" then ....
......
End if
%>
Avatar billede per2edb Praktikant
18. marts 2011 - 18:19 #4
Jeg glemte at oplyse det er VB på aspx apc.net4 sider
Der findes en Global.aspx men jeg kan ikke finde noget forståeligt om hvordan man gør
Avatar billede arne_v Ekspert
18. marts 2011 - 19:44 #5
per bruger => session
delt => application
Avatar billede per2edb Praktikant
21. marts 2011 - 09:18 #6
Undskyld jeg forstår ikke arnes kommentar
Mener du  Session("xx") så er det jo det jeg skriver jeg vil forlade da det kræver caske som mange slår fra - hvad gør man så!.
Det er som om asp.net4 har et meget stort brist her
Avatar billede keysersoze Guru
21. marts 2011 - 10:36 #7
hvad er caske/casce?

ASP.NET kan ikke indføre ting som ikke findes - hverken PHP, klassisk ASP eller nogen andre sprog kan håndtere det anderledes, for "det" findes ikke. Hvis du mener at session og application objekter ikke kan benyttes har du kun den mulighed tilbage at placere variablerne i adresselinjen enten via subdomain, mappenavn eller querystrings.
Avatar billede keysersoze Guru
21. marts 2011 - 11:05 #8
Hvis det er cookies du er bange for at folk har slået fra så kan du køre din applikation cookieless - det er en indstilling du kan sætte i web.config.
Avatar billede per2edb Praktikant
21. marts 2011 - 11:18 #9
Cookieless duer ikke for så bliver det for langsomd - det har jeg prøvet.
Vi en link duer ikke med 300 komplekse sider der køre på kryds og tværs
Link via aspx?SubDomaene="xxxx" duer ikke
Jeg har prøvet vi en DB men det kan da ikke være rigtigt i 2011 og det er alt for tungt

mappenavn eller querystrings kender jeg ikke. Hvor kan jeg se eksempler på dette

application objekter ved jeg ikke hvad er og hvordan de virker
Avatar billede keysersoze Guru
21. marts 2011 - 12:05 #10
hvad er caske/casce?

?SubDomaene=xxxx er en querystring, eller rettere så er SubDomaene en querystring mens xxxx er værdien.

application objekter er, som arne_v skriver, værdier gemt på serveren på tværs af alle brugere - modsat sessions som kun er for den enkelte bruger.

brug af mappenavn er bare at benytte mappenavne som beholder for værdier i stedet for querystrings og lignende - dvs i stedet for ?SubDomaene=xxxx kunne der stå /xxxx/dinside.aspx. Så kunne man benytte UrlRewriting til at skaffe sig adgang til værdierne bagom.

Det foruroliger mig en smule at du er i tvivl om hvad fx en querystring er - ikke så meget fordi jeg mener vi alle som skal vide alt, men fordi denne manglende viden måske også er årsag til mange unødige bekymrer og ikke mindst de performanceproblemer du har. Som nævnt er det ikke sproget der er problemet i denne sammenhæng, men måden web fungere på og faktisk er cookies kun noget browserne har opfundet og som sådan ikke noget der er indbygget i web i udgangspunktet - og det er trods alt ikke noget man bare ændrer fra den ene dag til den anden, specielt når alle andre webudviklere fint og kommet uden om de udfordringer der ligner dine. Mængden af folk der slår cookies fra, ikke bare cookies men også session cookies (skal i høj grad adskilles), er ud fra mine erfaringer relativ beskeden så jeg tror du gør problemet større end det er - mit umiddelbare bud vil være at du skal beholde dine sessions som du gør nu, og de få brugere, der har disables session cookies bliver automatisk ført over til at køre cookieless og så må den meget minimale mængde brugere nøjes med den dårligere performance.

Hvis du har erfaring med andre websprog, der klarer situationen bedre så kom med et eksempel.
Avatar billede per2edb Praktikant
21. marts 2011 - 12:30 #11
Tak for hjælpen
Nu er jeg mere rolig og fortsætter med session
Avatar billede per2edb Praktikant
21. marts 2011 - 12:31 #12
Du bedes lave det så du kan få point
Avatar billede arne_v Ekspert
21. marts 2011 - 18:51 #13
Hverken brug af session objekt eller brug af application objekt kraever brug af noget cache.

Nem brug ved clustered loesning med load balancer som ikke understoetter sticky sessions kraever replikering mellem node, men det er noget lid andet.

Brug af session kraever brug af cookies eller URL rewriting for at fungere, men det boer ikke vaere noget problem. Alle bruger det.
Avatar billede keysersoze Guru
21. marts 2011 - 19:58 #14
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester