Une question revient très souvent dans les fermes SharePoint mondiales :
- Un TimeOut lors de la remontée des fichiers important ou depuis les sites ayant une mauvaise connexion
Le résultat des tentatives d'Upload est un message provenant de SharePoint :
Il existe donc une KB (récente) au support Microsoft pour éviter l'erreur de SharePoint lors de ces remontées :
La solution vient donc de la modification de différents paramètres (SharePoint, IIS et ASP.NET).
Modification de la taille maximale des fichiers Uploadées :
Ceci se fait bien sur dans les paramètres du sites ("Web application general settings") WSS dans la centrale admin :
On sélectionne ensuite le site à modifier dans la liste des Web Applications et on trouve dans la liste des paramètres "Maximum Upload Size" (la valeur de base est de 50 MO)
Ce paramètre permet de fournir la limite maximale en terme de taille pour chaque fichier, en revanche cela ne change rien au problème éventuel de TimeOut. Pour ce paramètre, il faut voir du côté IIS et ASP.NET.
Modification IIS :
Pour ce paramètre, il faut lancer l'outil de gestion IIS, se placer au niveau du site IIS SharePoint voulu et cliquer sur "Limits" pour Windows 2008 (IIS 7) :
Et bouton droit propriétés pour Windows 2003 (IIS 6)
On peut fixer ces valeur à 600 Secondes par exemple.
Modification ASP.NET :
Le dernier point est moins évident mais concerne la configuration ASP.NET de chaque site SharePoint. En effet, SharePoint 2007 est bien une application ASP.NET 2.0 et utilise donc à ce titre des fichiers de configuration Web.Config.On doit donc modifier le Web.Config global à tous les sites SharePoint ainsi que celui spécifique à chaque Web Application.
Le fichier Web.Config global :
Ce fichier se trouve dans le répertoire 12 :
- C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\
Ce fichier fournit des limites pour un ensemble de fichiers ASPX spécifiques dont "Upload.aspx", il faut donc ajouter une limite infinie au paramètre de temps ("executionTimeout"), cela donnera le bloc comme suit :
<location path="upload.aspx">
<system.web>
<httpRuntime executionTimeout="999999" maxRequestLength="2097151" />
</system.web>
</location>
Le fichier Web.Config de chaque Web Application
Une fois le paramètre appliqué au niveau global, il faut aussi modifier chaque Web Application afin de prendre en compte ce temps infini. Il faut donc ouvrir le Web.Config se trouvant dans le répertoire racine de la Web Application (en général C:\inetpub\wwwroot\wss\VirtualDirectories\WebPort\) et chercher la clé "httpRunTime", on ajoute la veleur pour donner le résultat :
...
<system.web> ....
<httpRuntime executionTimeout="999999" maxRequestLength="51200" />
... </system.web>
...
On effectue un IISRESET pour recharger tous les sites IIS et les paramètres modifiés.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire