Bonjour,

J'ai fait un petit service comportant 6 projets :

L'application WinForm
Librairie Bo
Librairie Outils divers
ServiceFactory
ServiceInterfaceFactory
WebApplication

J'ai donc le Winform qui dépend de Bo, Outil et ServiceInterfaceFactory.

WebApplication qui dépend de Bo, outil ServiceFactory et ServiceInterfaceFactory.

J'ai ajouté des références web pour accéder a mes services via mon appli winform.

Cela fonctionnait très bien jusqu'à ce que je crée un objet.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
    [DataContract]
    public class DataFactory
    {
        [DataMember]
        public List<object> Data { get; set; }
        [DataMember]
        public MtxTools.Enums.eTransactionStatus Statut { get; set; }
    }
Toutes mes méthodes de service prennent cet objet en entrée et le renvoie en sortie. Ce qui me permet aussi bien de passer un String que 3 liste d'objet.

Tout ce passe bien du client au serveur mais lorsqu'en pas à pas j'arrive au renvoie de mon objet, j'ai l'exception :
La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.


Ps : je renvoie un objet User ou List<User> dans le data.


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
 
	<system.serviceModel>
		<behaviors>
			<serviceBehaviors>
				<behavior name="MetadataWSDL">
					<serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceThrottling
                    maxConcurrentCalls="16"
                    maxConcurrentInstances="2147483647"
                    maxConcurrentSessions="10"/>
        </behavior>
			</serviceBehaviors>
		</behaviors>
		<services>
      <service name="ServiceFactory.ExceptionService" behaviorConfiguration="MetadataWSDL">
        <endpoint address="" binding="basicHttpBinding" contract="ServiceInterfaceFactory.IExceptionService"/>
      </service>
      <service name="ServiceFactory.HabilitationService" behaviorConfiguration="MetadataWSDL">
        <endpoint address="" binding="basicHttpBinding" contract="ServiceInterfaceFactory.IHabilitationService"/>
      </service>
		</services>
	</system.serviceModel>
et mon app.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IExceptionService" maxReceivedMessageSize="2147483647" closeTimeout ="00:00:00">
          <readerQuotas
              maxDepth="64"
              maxStringContentLength="2147483647"
              maxArrayLength="2147483647"
              maxBytesPerRead="4096"
              maxNameTableCharCount="16384"/>
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="BasicHttpBinding_IHabilitationService" maxReceivedMessageSize="2147483647" closeTimeout ="00:00:00">
          <readerQuotas
              maxDepth="64"
              maxStringContentLength="2147483647"
              maxArrayLength="2147483647"
              maxBytesPerRead="4096"
              maxNameTableCharCount="16384"/>
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:2748/ExceptionService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IExceptionService"
        contract="ExceptionService.IExceptionService" name="BasicHttpBinding_IExceptionService" />
      <endpoint address="http://localhost:2748/HabilitationService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHabilitationService"
        contract="HabilitationService.IHabilitationService" name="BasicHttpBinding_IHabilitationService" />
    </client>
  </system.serviceModel>
Merci d'avance pour toutes information.