Bonjour,

Je suis en train d'essayer de mettre en place un webservice WCF, qui renvoie des données via un EntityFramework.

Le problème est que quand je fais appel à la méthode getNomMac dans l'application qui fait appel au webservice (voir code ci-dessous), j'obtiens une erreur de connexion :

Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.Net.Sockets.SocketException: Une connexion existante a dû être fermée par l'hôte distant
Mon service :
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
public class Nomenclature : INomenclature
    {
        public ORACLE_SCPE8_Entities SCPE8;
        public Nomenclature()
        {
            SCPE8 = new ORACLE_SCPE8_Entities();
        }
 
        public NOMMAC getNomMac(string CodeMachine, short? CodeFoncTech, String NomNomenc)
        {
            var query = from nommac in SCPE8.NOMMAC
                        join sousense in SCPE8.SOUSENSE on nommac.ENT_CODENT equals sousense.ENT_CODENT
                        where nommac.FTH_CODE == CodeFoncTech
                        where nommac.MAC_CODE == CodeMachine
                        where sousense.NNC_CODE == NomNomenc
                        select nommac;
 
            return query.First();
        }
    }
Mon interface :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
[ServiceContract]
    public interface INomenclature
    {
        [OperationContract]
        NOMMAC getNomMac(string CodeMachine, short? CodeFoncTech, String NomNomenc);
    }
La méthode marche bien si je ne renvoie qu'un string avec un des champs de la table au lieu du type NOMMAC.

Bref si quelqu'un voit la source du problème...

Merci et bonne soirée