Meilleur auteur de réponses
Service WCF variable publique non persistante

Question
-
Bonjour,
La propriété implémenté si dessous ne conserve pas sa valeur :
Public _EstIdentifie As Boolean Property EstIdentifie As Boolean Get Return _EstIdentifie End Get Set(value As Boolean) _EstIdentifie = value End Set End Property
En fait en mode debug , je m'aperçois qu'a chaque appele à un OperationContract déclenche un new dans la classe.
comment pourrais je conserver la valeur?
FB
Réponses
-
Bonjour,
Il faut mettre le signe ":=" lorsque vous affectez une valeur à une propriété des attributs.
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.Single)>
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Proposé comme réponse Gilles TOURREAUModerator dimanche 17 juin 2012 13:32
- Marqué comme réponse FrançoisBOSSANT mardi 3 juillet 2012 17:57
Toutes les réponses
-
Bonjour François,
Pour qu'une instance d'un object soit unique (singleton), il faut modifer le behavior du service en ajoutant l'attibut suivant davant la définition de la classe (ex: class Service
<ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)> public Service As Class Implement IService
Jérémy Jeanson MVP, MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken)
- Proposé comme réponse JeremyJeansonMVP, Moderator mardi 5 juin 2012 12:38
-
-
Bonjour,
Avez-vous fait un :
Imports System.ServiceModel
en haut de votre fichier ?
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
oui
L'erreur est :
Erreur 9 'InstanceContextMode' est un type et ne peut pas être utilisé en tant qu'expression.
Pour info: j'ai fait comme ceci :
Imports System.Data.SqlClient Imports CatWebLib Imports System.ServiceModel.Description Imports Microsoft.Web.Administration Imports System.ServiceModel Public Structure Retour Dim Erreur As Boolean Dim Message As String End Structure ' REMARQUE : si vous modifiez le nom de classe « CatWebWCF » ici, vous devez également mettre à jour la référence à « CatWebWCF » dans Web.config et dans le fichier .svc associé. <ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)> _ Public Class CatWebWCF Implements ICatWebWCF .....
FB
- Modifié FrançoisBOSSANT mardi 5 juin 2012 13:58
-
Bonjour,
Il faut mettre le signe ":=" lorsque vous affectez une valeur à une propriété des attributs.
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.Single)>
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Proposé comme réponse Gilles TOURREAUModerator dimanche 17 juin 2012 13:32
- Marqué comme réponse FrançoisBOSSANT mardi 3 juillet 2012 17:57