IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Windows Discussion :

WCF : hosteur et hosté


Sujet :

Services Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut WCF : hosteur et hosté
    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é

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tu as 2 méthodes pour ça. Toutes ces méthodes partent de la manière tu comptes exposés ton service et aussi si ta collection est déclarée en tant que membre d'instance ou membre statique.

    1ère méthode :
    • Tu déclares ta collection dans ta classe Service en tant que membre d'instance
    • Tu déclares ton service en mode d'instanciation Singleton grâce à l'attribut ServiceBehavior en changeant sa propriété InstanceContextMode à InstanceContextMode.Single.
    • mettre la la propriété ConcurrencyMode à ConcurrencyMode.Single.


    2ème méthode :
    • Tu déclares ta collection dans ta classe Service en tant que membre statique
    • Pour les problèmes de concurrence mettre aussi la la propriété ConcurrencyMode à ConcurrencyMode.Single.


    La première méthode t'oblige à instancier ton service avant de l'héberger.
    Dernière modification par Invité ; 02/09/2011 à 20h04.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [Résolu]
    Ca marche nickel

    Merci beaucoup

  4. #4
    Invité
    Invité(e)
    Par défaut
    De rien ! Sinon t'as choisi laquelle des deux méthodes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WCF Service Host et clientaccesspolicy.xml
    Par Invité dans le forum Services Web
    Réponses: 2
    Dernier message: 22/07/2009, 09h14
  2. profiler pour service WCF IIS-hosted
    Par micky3248 dans le forum Services Web
    Réponses: 1
    Dernier message: 25/06/2009, 10h59
  3. Hosting WCF Services in ASP.NET Compatibility Mode
    Par est09 dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 27/04/2009, 13h17
  4. WCF: simpleHttpBinding, app.config et host.faulted
    Par Invité dans le forum Services Web
    Réponses: 4
    Dernier message: 15/04/2009, 18h07
  5. [c# - Wcf] plusieurs services sur un meme host ?
    Par cinemania dans le forum Windows Communication Foundation
    Réponses: 13
    Dernier message: 15/03/2008, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo