OVH Cloud OVH Cloud

[C#]Objet persistent

12 réponses
Avatar
fragmonster
Bonjour,
y a t-il un moyen de cr=E9er un Objet persistent en .NET? Je souhaite en
fait conserver un objet "en vie" entre deux sessions. Je m'explique :

J'ai deux serveurs (A et B). Le serveur A (java) appelle une page via
un HttpURLConnection sur le serveur B (.net) qui ajoute des donn=E9es
dans un object persistent et renvoie un ID unique vers A.

A re=E7oit donc cet ID en r=E9ponse puis fait un redirect HTTP vers une
autre page de B en lui passant cet ID dans l'url.

=3D=3D=3D> A cet instant je quitte le serveur A et j'arrive sur B

B, gr=E2ce =E0 cet ID unique, est capable de retrouver les donn=E9es dans
cet objet persistent.


En gros je voudrais =E9viter de passer par une base de donn=E9es.



En fait, je suis en train de faire le portage d'une appli existente
Java/Webspere en .net et comme ils utilisent une servlet instanci=E9e
une fois au d=E9marrage de l'appli, cette persistente que je cherche a
reproduire est mat=E9rialis=E9e par une variable statique (une hashtable
pour =EAtre pr=E9cis). Or y a t-il un moyen en .net de faire la m=EAme
chose?

2 réponses

1 2
Avatar
Simon Mourier [SoftFluent]
Comme je le disais, je vous conseille de lire la documentation. Les sessions
ASP.NET sont persistées dans un système qui est configurable, de manière
transparente pour le programmeur des pages. ASP.NET propose en standard deux
systèmes permettant de partager les sessions dans une ferme web comme vous
souhaitez le faire:

* Le State Server: persistence en mémoire (ressemble à votre idée)
*SQL server: persistence dans SQL

Quand à la sécurité, de toutes façons, vous êtes bien obligé de faire
transiter un identifiant sur le réseau entre serveur et client, quelque soit
la solution de stockage de session du coté serveur. Le mieux qu'on puisse
faire c'est d'empêcher que ces identifiants soient facilement "devinables"
(c'est pour cela que ce sont des chaînes de caractères genre guid, etc...).
Si cela vous gêne, il faut utiliser HTTPS.

Simon.
www.softfluent.com

"fragmonster" a écrit dans le message de news:

Je suis en framework 1.1.

Peut-être y a t-il un moyen de rendre une session "persistente" en
effet, le problème est que lorsque je passe de mon serveur A vers le
serveur B je quitte la session ouverte par A pour en ouvrir une
nouvelle et je n'ai donc aucun moyen de récupérer la session de A
avec mon objet dedans.

De plus, je doute que l'on puisse récupérer une session à partir de
son SessionID. Ca poserait des problèmes de sécurité et de
confidentialité énormes!! Ca m'aurait bien arrangé celà dit : A
ouvre une session sur B, met un objet dedans et récupère le session
ID. Puis il fait un server.redirect vers B en lui passant le sessionID
dans l'url. B ferait un GetSessionByID(); et récupèrerait l'object.
Ha ha!! pas terrible du point de vue sécurité quand même ^^

C'est pourquoi je pense que mon problème ne peut pas se résoudre en
s'appuyant sur les sessions.
Avatar
Delf
In article ,
says...

[...]



Utiliser une variable d'application ?

Ex:

Application["A"] = objetMagique;

A part...
A revient...

CObjectMagique o = (objetMagique)Application["A"];

Non ? Utile ?

--
Delf
1 2