……Marco Valli's Blog……

Internet, Tecnologia e SharePoint!!!

Windows Server 2008 & Sharepoint: superare il limite di 30Mb (circa..) di upload


Come spesso capita, l’implementazione di Sharepoint in configurazioni particolari porta con se problematiche singolari o a volte davvero incomprensibili.. A quest’ultima categoria appartiene la problemati ca che ho riscontrato su un’installazione di Sharepoint con front-end su Windows Server 2008 (e quindi IIS 7)..

Il problema infatti si presenta al momento dell’upload di file superiori a circa 30Mb, nessun messaggio di errore, soltanto, di punto in bianco, il messaggio pagina non trovata o saltuariamente errore 404…

Avendo impostato nella configurazione della web application la dimensione massima dei file ad esempio 200MB (sempre meglio non esagerare, non bisogna mai dimenticare que questi file vengono salvati sul database…), il problema non sparisce, è quindi necessario effettuare queste modifiche:

Nel web.config che si trova nella cartella C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\layouts

Sostituire questa stringa:

<location path="upload.aspx">

<system.web>

<httpRuntime maxRequestLength="2097151" />

</system.web>

</location>

Con questa:

<location path="upload.aspx">

<system.web>

<httpRuntime maxRequestLength="2097151" executionTimeout="999999" />

</system.web>

</location>

Nel web.config di ogni applicazione web che deve essere "sbloccata", nella cartella c:\inetpub\wwwroot\wss\VirtualDirectories\[porta della web application] va invece modificata questa stringa:

<httpRuntime maxRequestLength="51200" />

Con questa:

<httpRuntime maxRequestLength="51200" executionTimeout="999999" />

Questa modifica risolve il problema del timoeut della pagina quando il file da caricare è particolarmente lungo (notare che a differenza dell’articolo Microsoft di riferimento, io ho messo executionTimeout alla fine della stringa perchè mettendolo all’inizio mi veniva restituito un’errore sulla pagina…)

Il secondo passaggio prevede un’altra modifica al web.config di ogni singola web application, in cui va inserita questa stringa:

<system.webServer>

<security>

<requestFiltering>

<requestLimits maxAllowedContentLength="[Valore in byte]"/>

</requestFiltering>

</security>

</system.webServer>

Il valore in byte è lo stesso che avete messo nelle impostazioni della web application, quindi secondo l’esempio di 200Mb il valore da inserire è 200*1048576=209715200 (con 1048576 che è dato da 1024 byte per avere un Kb * 1024 Kb per avere un Mb )..

Anche questo problema è stato superato, in alcuni momenti ho temuto per il peggio ma fortunatamente tutto si è risolto per il meglio!!

Queste sono le KB di riferimento che ho trovato per risolvere il problema: kb944981 e kb925083

Enjoy!! 😀

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: