Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Arnaud CLERET


Astuces et News : .Net, BizTalk, Team System, SQL ...
Limitation de la taille des messages WCF dans IIS

Lors du déploiement de services WCF (Windows Communication Foundation), il est possible de prévoir un hébergement dans IIS avec un mode compatible ASP.NET. Dans ce cadre, il est important de prendre en considération la configuration par défaut du Framework .Net au niveau HttpRuntime et notamment sur la volumétrie des requêtes Http transmisent au serveur.

En effet, le fait d'être en mode compatibilité ASP.NET induit le fait que le service s'exécutera selon la configuration établie dans la section HttpRuntime du fichier web.config ou machine.config. Ci-dessous un extrait du fichier machine.config par défaut :

<configuration>
  <
system.web
>
    <
httpRuntime
      executionTimeout="110
"
      maxRequestLength="4096
"
      requestLengthDiskThreshold="80
"
      useFullyQualifiedRedirectUrl="false
"
      minFreeThreads="8
"
      minLocalRequestFreeThreads="4
"
      appRequestQueueLimit="5000
"
      enableKernelOutputCache="true
"
      enableVersionHeader="true
"
      requireRootedSaveAsPath="true
"
      enable="true
"
      shutdownTimeout="90
"
      delayNotificationTimeout="5
"
      waitChangeNotification="0
"
      maxWaitChangeNotification="0
"
      requestPriority="Normal
"
      enableHeaderChecking="true
"
      sendCacheControlHeader="true
"
      apartmentThreading="false
"
    />
  </
system.web
>
</
configuration>

Il est donc à noté que, par défaut, toute requête émise vers le serveur ne pourra pas dépasser les 4Mo même si la clé maxReceivedMessageSize de WCF est paramétrée selon vos souhaits. En effet, les clés de configuration HttpRuntime prennent le pas sur la configuration System.ServiceModel de WCF définie.

Si ce cas est valable pour la taille des requêtes émises vers le serveur, il en va de même pour les paramètres liés aux optimisations de performances et notamment ici : minFreeThreads...

Pensez donc à modifier les clés HttpRuntime soit au niveau du web.config si vous souhaitez ne l'appliquez qu'a votre application soit au niveau de machine.config si vous souhaitez l'appliquer de manière globale.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 10 avril 2008 22:59 par arno
Classé sous : , ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Avoir une propri&#233;t&#233; sur l'object context qui renvoit les sous-entit&#233;s v2 par Matthieu MEZIL le il y a 4 heures et 27 minutes

- WPF : la gestion des dates (Label, TextBlock) par Pierrick's Blog le il y a 10 heures et 9 minutes

- [ASP.NET] - ASP.NET Generated Image par Aurelien's Blog - When ClientSide meets .Net le il y a 11 heures et 36 minutes

- Utiliser le SDK Open XML pour manipuler vos documents Office Open XML par Julien Chable le il y a 12 heures et 50 minutes

- [Silverlight] - Créer un contrôle réutilisable et des propriétés personnalisées. par Danuz le il y a 16 heures et 7 minutes

- Photosynth : Composez et partagez vos scènes ! par Blog technique de Nicolas Boonaert le il y a 16 heures et 10 minutes

- Comment d&#233;bugger un programme de g&#233;n&#233;ration de code utilis&#233; dans VS ? par Matthieu MEZIL le il y a 16 heures et 11 minutes

- Avoir une propriété sur l'object context qui renvoit les sous-entités par Matthieu MEZIL le il y a 16 heures et 23 minutes

- Sortie du SDK 1.1 de Visual Studio 2008 par Michel Perfetti [Miiitch] le il y a 18 heures et 57 minutes

- Skyfire, Silverlight sur votre mobile ! par alex# le il y a 19 heures et 14 minutes