Salut
Dans quels cas la connection peut etre refuse ?
J ai fais un service, mais au bout d une certain temps je n arrive plus a y connecte ...
Doit on a chaque fois fermer le channel ?
Thx ++
Salut
Dans quels cas la connection peut etre refuse ?
J ai fais un service, mais au bout d une certain temps je n arrive plus a y connecte ...
Doit on a chaque fois fermer le channel ?
Thx ++
Salut,
Plusieurs cas peuvent se présenter :
- le serveur n'est pas allumé
- le serveur est allumé mais le service WCF n'est pas lancé
- l'adresse utilisé pour accéder au service n'est pas correcte
- la configuration du endpoint n'est pas correcte
- etc...
Sans le message d'erreur on ne peut pas t'aider.
Pour répondre à la question Doit on a chaque fois fermer le channel ? la réponse est non. Un même Channel peut-être utilisé par toute une application mais va falloir faire gaffe quand tu utilises les sessions parce que si une erreur est déclenchée sur une session il faut que le client recrée le channel.
Salut
Le probleme s est resolus tout seul... pour le moment
Quel est la meilleur solution pour gerer la "perte" de connection ; je recois quand le service a ete relance l exception "CommunicationObjectFaultedException"
pour le channel a le status "opened"
Dois je a chaque fois creer une nouvelle instance du channel ?
Je ne sais pas mais la création d'un nouveau Channel n'est pas une mauvaise idée. Cala permettra d'avoir au moins une Session nouvelle vu que toute erreur déclenchée sur le serveur annule l'utilisation de la session concernée.
L'important est de chercher à savoir qu'est-ce qui est l'origine de cette erreur.![]()
Voici comment est configure mon service
Le service WCF est dans un servi e Windows :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [ServiceBehavior( InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple )]
Et voici mon client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ServiceHost serviceHost = null; NetTcpBinding tcpBinding = new NetTcpBinding(); tcpBinding.MaxConnections = int.MaxValue; serviceHost = new ServiceHost(typeof(AgentServiceWCF)); serviceHost.AddServiceEndpoint(typeof(IAgentContract), tcpBinding, "net.tcp://127.0.0.1:8075/Service"); serviceHost.Open();
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [CallbackBehaviorAttribute( ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true, UseSynchronizationContext = true )]
Ahhhh je deviens fou !!!
Toujours des problemes de timeout
La je me demande si ce que je fais est possible
J ai un contract qui des fonctions du genre :
Start() (OneWay=true)
Stop() (OneWay=true)
GetInfo() (OneWay=false)
Et j ai un callback qui peut appeler tres souvent une methode :
ProcessStarted()
ProcessStopped()
NewData()
mon process est j appelle Start() le callback lance ProcessStarted() et s occupe d appeler NewData()
Le probleme de timeout peut provenir quand Newdata() est lancee tres rapidement et qu en meme temps j appelle GetInfo() qui me retourne des info.
J utilise egalement, cote client, la meme classe qui utilise le service wcf et qui implemente le callback
Y a t il un probleme dans tout ca ?§?§?
Merci d avance !!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager