Bonjour,

J'utilise un WebService LINQ to SQL qui effectue simplement une requete dans une base SQL Server.

L'exception récupérée est :
The underlying connection was closed: An unexpected error occurred on a receive
Tout fonctionne lorsque la requete retourne peu d'enregistrements, et dans le cas ou elle retourne environ 5000 enregistrements, j'ai mon exception...

Voilà mon code côté WebService :
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
45
 
public IList<MON_TYPE> getRetourRequete(param1, param2...)
        {
            string[] strListCustomerCode = param1.Split(';');
 
            List<MON_TYPE> listMonType = null;
            try
            {
                using (monDataContext context = new monDataContext())
                {
                    foreach (string strCustomCode in strListCustomerCode)
                    {
                        var result = from wo in context.MON_TYPE
                                         where wo.monChamp1 == strCustomCode
                                         where wo.monChamp1.Contains(param2)
                                         where wo.monChamp1.Contains(param3)....
                                         select wo;
 
                        context.ObjectTrackingEnabled = false;
                        if ((result.ToList<MON_TYPE>() != null) &&
                            (result.ToList<MON_TYPE>().Count > 0))
                        {
                            if (listMonType == null)
                            {
                                listMonType = new List<MON_TYPE>();
                                listMonType.AddRange(result.ToList<MON_TYPE>());
                            }
                            else
                            {
                                listMonType.AddRange(result.ToList<MON_TYPE>());
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string mess = ex.Message;
                listMonType = null;
            }
 
            return listMonType;
        }
 
    }
Dans un 1er temps le param1 est splitté car il contient plusieurs valeurs pour le même champ. Ma requete est executé plusieurs fois avec ces valeurs et les résultats sont concaténés (c'est un "OU" à ma sauce)

côté consommateur du service :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Service monService = new Service();
 
IList<MON_TYPE> maList = monService.getRetourRequete(param1, param2...);
J'ai cherché toute la journée, je ne trouve pas d'où ca peut venir, si quelqu'un a une idée ? Merci !