[ASP.NET (VB)] Shared variable per sessie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Ik ben bezig met de ontwikkeling van aan apps in ASP.NET.
Echter loop ik er tegen aan dat ik gebruik wil maken van shared variable om gegevens uit te wisselen tussen classes (ik maak bv 1x in de global.asax een db verbinding aan en deze gebruik ik door de hele site heen).
Nu maakt elke gebruiker gebruik van zijn eigen database en kom ik dan met shared in de knoop.

Shared variable gelden voor alle website gebruikers.. Ik heb ook gekeken naar session maar deze variable kunnen niet overal in de global.asax worden ingesteld, want ik werk ook met een routehandler en die kan dan weer geen sessie instellen.

Iemand een idee hoe je zoiets oplost?

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Als je op session create time een DB connectie object aan wil maken kun je dat ook in de Global.asax doen. Daar wordt een Session_Start event afgevuurd als een nieuwe sessie aangemaakt wordt.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Waarom zou je 1x een databaseverbinding aan willen maken? Daar heb je connection pooling voor. Wat wil je bereiken, doen en met welk nut?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
gorgi_19 schreef op dinsdag 13 april 2010 @ 14:04:
Waarom zou je 1x een databaseverbinding aan willen maken? Daar heb je connection pooling voor. Wat wil je bereiken, doen en met welk nut?
Kennelijk heeft elke user een eigen database?

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Het is een systeem waarbij gebruik wordt gemaakt van verschillende databases, ahv /BedrijfA bv wordt de database van BedrijfA geopend. Hierop kunnen gebruikers vervolgens inloggen.

[Edit:] Is het niet mogelijk om in IIS 7 aan te geven dat elke aanvraag/sessie als apparte instance gezien wordt? Want dan kan ik gewoon gebruik maken van shared? Toen werkte mijn applicatie volledig.

[ Voor 36% gewijzigd door Josvds op 13-04-2010 14:42 . Reden: Vraag ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Hydra schreef op dinsdag 13 april 2010 @ 14:11:
[...]


Kennelijk heeft elke user een eigen database?
Dus?
Dan laadt je toch de connectionstring in per gebruiker en cache je die? Sowieso: Shared variabelen gebruiken in een ASP.Net omgeving is niet echt handig

[ Voor 14% gewijzigd door gorgi_19 op 13-04-2010 15:03 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Shared = Cache toch?

Ik zit er namelijk mee, ik maak dus gebruik van Route Handling en daarbij kun je geen sessies instellen of uitlezen. Dus weet ik daar nog niet of een gebruiker wel/niet is ingelogd, om eventueel een andere pagina weer te geven.

Ik had al zitten google hoe ik de cache (shared) gewoon kan gebruiken door dit in IIS iets te veranderen, maar kan het nog niet echt vinden.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Nee, is niet hetzelfde.
Ik zit er namelijk mee, ik maak dus gebruik van Route Handling en daarbij kun je geen sessies instellen of uitlezen. Dus weet ik daar nog niet of een gebruiker wel/niet is ingelogd, om eventueel een andere pagina weer te geven.
Een andere pagina bepaal je toch in je controller; hier kan je zien of een gebruiker ingelogd is of niet en al dan niet een eigen view meegeven.

Maar erhm... Zoek je niet HttpContext ? Deze gaan 1 request mee, starten aan het begin van de pipeline en aan het einde van de request is het afgelopen. Intervenieert niet tussen users of verschillende requests in.

[ Voor 12% gewijzigd door gorgi_19 op 13-04-2010 15:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Josvds
  • Registratie: November 2004
  • Laatst online: 26-08 20:42
Hartelijk dank voor je reactie. Dat was idd wat ik nodig had volgens mij.
Heb nu alles omgezet het lijkt te werken ik ga nog even verder met testen voor de zekerheid maar iig erg bedankt vast.

Daarnaast een andere vraag:
Ik heb nu een shared classe met gebruikersnaam en wachtwoord van de database.
Voorbeeld:
Visual Basic .NET:
1
2
3
4
Public Class Instellingen
   Public Shared ReadOnly Gebruikersnaam As String = "Gebruikersnaam"
   Public Shared ReadOnly Wachtwoord As String = "Wachtwoord"
End Class


Echter is mijn vraag is dit veilig of hoe kun je dat veiliger doen?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Zet het in de web.config, maak anders encrypted sections aan in de web.config. Ipv shared Readonly kan je in deze gevallen ook Const gebruiken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1