2010-08-11 27 views
4

est-il possible de gérer des sessions dans des services web? si oui, comment gérer la session en elle? Est-ce similaire aux sessions que nous maintenons en JSP ou PHP? D'où vient l'information sur la session, Client ou Serveur?gestion de session dans les services Web?

+0

Je suis assez sûr ... vous devez repenser cette approche. Si vous êtes familier avec les services Web dans .net, sachez que vous n'utiliserez jamais "Session". – Achilles

Répondre

3

Est-ce une question java ou .net?

Dans .net, vous pouvez facilement utiliser l'état de session sur le serveur d'hébergement webservice en réglant le paramètre EnableSession dans WebMethod attribut, par exemple:

[WebMethod(EnableSession = true)] 
public bool Login(string login, string password) 
{ 
    // you can use session here so for example log in user 
    if(login = "administrator" && password = "secret") 
     Session["authorizedUser"] = login; 
} 
+0

@ LukaszW.pl: est-il similaire aux sessions que nous maintenons en JSP ou PHP? D'où vient l'information sur la session, Client ou Serveur? – brainless

+2

La session est toujours une chose côté serveur ... C'est similaire à une session en PHP (je ne connais pas JSP) ... Généralement c'est une table d'objets client unique qui est stockée sur le serveur et accessible depuis votre web C# application qui héberge le webservice. –

+0

Puisqu'un service Web est une application Web normale, une seule qui traite les demandes et les réponses dans des formulaires autres que HTML, les mêmes mécanismes de gestion de session sont utilisés. –

5

Il est possible d'utiliser l'objet Session dans .NET à l'intérieur d'un service web ... mais je dirais que c'est une mauvaise pratique. En règle générale, un service Web ne transmet pas les données de cette manière et les données du service ne sont pas conservées entre les appels.

+1

Comment fonctionne Session dans un service web? un exemple de code disponible? – brainless

+1

'Session' dans webservices fonctionne comme sur toutes les pages aspx. Vous pouvez placer des objets dans la table de session et les récupérer à partir de là. De plus, il est possible d'utiliser des mécanismes basés sur des sessions comme 'FormsAuthentication' etc. –

0

Here est un article sur WS-ReliableMessaging, qui a le soutien de la session, et est supporté à la fois pour le développement java et .net.