Bonjour,
Je suis train d'implémenter un service windows qui host une libriairy wcf.
L'objectif de ce service partager et de mettre à jour une collection d'objet
Chaque client peut ajouter des objets à la liste générale et ou en supprimer.
Le problème vient du faite que je ne sais pas ou stocker cette collection d'objet. Si je la mets en var globale dans la librairie WCF est elle ré-instanciée à chaque appel des clients
Alors ou mettre cet objet ?
Ci joint un exemple du code côté WCF librairie :
L'objet qui me pose problème est "Lignes"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Public Class ServiceRDC Public Class ServiceRDC Implements IServiceGeneral Public Lignes As List(Of Ligne) Private WithEvents Timer As New Timers.Timer Public Sub New() Try Timer.Interval = 60000 ' Timer.Start() Lignes = Ligne.GetSaveLine() Catch ex As Exception End Try End Sub Public Function GetPoste(ByVal Poste As String, ByVal Ligne As String) As Poste Implements IServiceGeneral.GetPoste Try Dim LigneQuery = From TLigne In Lignes Where TLigne.Nom = Ligne Select TLigne.Postes For Each SelecPoste As List(Of Poste) In LigneQuery Dim StationQuery = From TStation In SelecPoste Where TStation.Nom = Poste Select TStation For Each _Poste As Poste In StationQuery Return _Poste Next Next Catch ex As Exception End Try Return Nothing End Function
A chaque appel du client l'objet est ré-instancié.
En bref est-il possible d'instancier cette classe dans le "hosteur" ici un service Windows.
Merci d'avance et bon week end
Vous aurez remarqué que j'utilise linq pour faire une requête sur ma collection d'objet. Je suis obligé faire deux boucles pour atteindre mon résultat. Si des esprits éclairés avaient une idée pour faire une seule requête Linq cela me serait d'une grande utilité
Partager