Salve alla comunità

mi trovo a risolvere questo problema:
Debbo realizzare un'area web, ad accesso riservato, che consenta di scambiare file. In altre parole l'area gestisce un insieme di utenti autorizzati che, previo inserimento di username e password, hanno accesso ad uno spazio condiviso nel quale possono caricare/scaricare file.

Nessun problema per il download, ovviamente.

I problemi, invece, si presentano nel caso di upload.
Se un utente tenta di eseguire un upload di un file di dimensioni superiori a 4096 Byte ottiene una pagina di errore (Timeout).

Ho visto che è possibile impostare la configurazione del max. size per i file in upload dentro il web.config; se ad esempio volessi permettere upload di dimensioni fino a 30mb dovrei configurare il web.config così:

<httpRuntime maxRequestLength="30960" />

Questa soluzione poco mi piace perchè:
1. Se l'utente decide di inviare file di dimensioni maggiori siamo daccapo.
2. L'area di scambio deve essere ricavata entro il più generale spazio di un sito internet. Se imposto in quel modo il web config consento a tutti utenti, ove questo sia permesso, di poter effettuare file di dimensioni spropositate... ciò, naturalmente, non va bene per nulla.
3. L'utente che invia un file di dimensioni entro il max. limite fissato, ad esempio 30000 Byte, si trova di fronte una pagina bianca che durerà per tutto il tempo in cui client e server si trasmettono dati. Oltre ad essere molto brutto, questo fatto mi espone al rischio che lo stesso utente si spazientisca e "abortisca" l'operazione prima della sua corretta conclusione.

Chiedo dunque, alla comunità, nell'ordine le seguenti cose:
1. Esiste un modo alternativo per permettere l'invio di file sempre, di qualunque dimensione essi siano?
2. Questo modo può essere limitato alla sola area d'interesse, per non dar modo agli altri utenti del sito di "uploadare" sistemi operativi e divx?
3. Esiste il modo per ricavare una barra di scorrimento che, alla stregua del download, mi dica a che punto è l'operazione di upload (es. 20%, 30%, ecc)? In particolare è possibile contare i pacchetti in cui viene suddiviso il file al momento dell'upload e monitorare la corretta ricezione di ciascuno di questi?

Grazie per l'attenzione.

Francesco.