2013-02-24 5 views
0

Je suis sur ma semaine de lecture, et en raison de la Journée de la famille (fête nationale) mon cours de services Web a été annulé lundi dernier. Malheureusement, l'enseignant a encore assigné un projet avant que nous puissions le revoir.WCF Web Service Session

Je suis supposé faire un service WCF avec un client de formulaire Windows.

Je souhaite que mon client puisse mettre à jour certaines chaînes dans ma classe StockService.svc.cs. Le seul problème est, il ne conserve pas les données. Je sais que ceci est lié à la session, et que vous devez spécifier le type de session ou quelque chose dans la classe de service.

Quel est le mot clé que je tape afin que la session dure jusqu'à ce que le client soit fermé, de sorte que toutes les valeurs qui sont modifiées seront conservées pour la session?

Je trouve:

[WebMethod(EnableSession=true)] 

Mais puisque mon professeur n'a pas couvert ce dans le laboratoire encore, je ne sais pas comment l'utiliser. Il donne une erreur:

Erreur 1 L'attribut 'WebMethod' n'est pas valide pour ce type de déclaration. Il est uniquement valable pour les déclarations de "méthode".

Toute aide serait appréciée. (Remarque: Bien que j'ai envoyé un e-mail à l'enseignant il a été 3 jours et je ne veux pas faire cette dernière minute!)

+0

J'ai découvert [ServiceBehavior (InstanceContextMode = InstanceContextMode.PerSession)], Est-ce que cela résoudra mon problème? –

Répondre

2

L'attribut que vous essayez d'utiliser est uniquement pour les services Web XML. Je vous recommande this article qui parle de sessions WCF. Les sessions dans les services WCF ne sont pas les mêmes que dans asp.net. Une solution à votre problème pourrait être l'utilisation d'une variable statique pour stocker les valeurs insérées. J'ai fait quelques tests ici et cela fonctionne parfaitement

+0

Merci, c'est l'information dont j'avais besoin dans votre lien. –