Bonjour,

J'ai une question sur les web-services WCF couplé à EF4.

J'ai créé une solution "webservice" qui se compose en 4 parties : DAL (contenant l'edmx), POCO, BLL (contenant les CRUD), WEB-SERVICES.

Dans un de mes webservice j'ai une méthode getAllUsers() tout bête voici son implémentation :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
       public List<use_user> getAllUsers() { 
            return new use_user_manager().select();
        }
La méthode fonctionne correctement car je l'ai testé avec une appli console.

Cependant quand j’appelle le web-service depuis une autre solution, il me provoque l'erreur suivante :

La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.
Sachant que si à la place d'une liste d'objets use_user je retourne une liste de string cela marche, j'ai l'impression qu'il n'arrive pas à sérialiser/dé-sérialiser en quelque sorte mon objet pour que je puisse le récupérer dans mon application qui appelle le web-service.

De plus, j'ai essayé (croyant que le problème venait de là) de supprimer les POCO et de conserver les classes de l'edmx, et le résultat est le même.

Avez-vous une idée sur la question?

Merci et bonnes fêtes de fin d'année.


Pour informations voici mon Web.config :

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
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="bdd_mobiwall_entities" connectionString="metadata=res://*/mobiwall.csdl|res://*/mobiwall.ssdl|res://*/mobiwall.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=ROYCOURT-PC\INSTANCESQL;Initial Catalog=bdd_mobiwall;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>
</configuration>