Bonjour,
Ma question va sembler rébarbative car maintes fois posé sur moult forums mais sur un service WCF des plus basic (coté serveur et généré de base par notre Visual Studio adoré) je n'arrive pas à augmenter la taille du « MaxReceivedMessageSize » dans mon « Web.config ».
(dans ma base de donnée j’ai une table ‘STUDENTS’ avec les champs ‘id’, ‘civility’, ‘firstname’ et ‘lastname’ qui contient plus de 31000 enregistrement)
Pour info mon fichier IService1.cs
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 <?xmlversion="1.0"encoding="utf-8"?> <configuration> <connectionStrings> <add name="MyConnectionString" connectionString="Data Source=****;Initial Catalog=****;Persist Security Info=True;User ID=****;Password=****" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <compilationdebug="true"targetFramework="4.0" /> </system.web> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <!-- Pour éviter la divulgation des informations sur les métadonnées, définissez la valeur ci-dessous sur false et supprimez le point de terminaison des métadonnées ci-dessus avant le déploiement. --> <serviceMetadatahttpGetEnabled="true"/> <!-- Pour recevoir les détails d'exception des erreurs à des fins de débogage, définissez la valeur ci-dessous sur true. Définissez-la sur false avant le déploiement pour éviter la divulgation des informations d'exception. --> <serviceDebugincludeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironmentmultipleSiteBindingsEnabled="true" /> </system.serviceModel> </configuration>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [ServiceContract] public interface IService1 { [OperationContract] List<STUDENTS> GetSTUDENTS(); [OperationContract] List<STUDENTS> GetSTUDENTSByFirstName(string firstName); }
et Service1.svc.cs
L'appel de GetSTUDENTSByFirstName fonctionne car il retourne environ 200 résultat mais GetSTUDENTS()... Pouf, Bug MaxReceivedMessageSize
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public List<STUDENTS> GetSTUDENTS() { DataClasses1DataContext dc = new DataClasses1DataContext(); var result = (from st in dc.STUDENTS orderby st.st_firstname select st); return result.ToList(); } public List<STUDENTS> GetSTUDENTSByFirstName(string firstName) { DataClasses1DataContext dc = new DataClasses1DataContext(); var result = (from st in dc.STUDENTS where st.st_firstname == firstName orderby st.st_firstname select st); return result.ToList(); }
Pour compléter, ce service est du coté serveur pour que mon appli Silverlight y accède via les « Service Reference ».
Je ne sais pas si tout cela est la bonne facon de procéder mais je début sur WCF.
Merci de votre aide
Partager