2009-08-21 21 views
6

Ho bisogno di trasferire file Excel di grandi dimensioni su un servizio WCF. Il nostro progetto richiede la generazione di alcuni report per i clienti e usiamo Excel per generare i report.Come trasferire file di grandi dimensioni tramite WCF

In questo momento il progetto utilizza il binding net.tcp, ma stiamo considerando di passare al binding http.

Ho letto un altro post su SO sul trasferimento di immagini di grandi dimensioni e tutte le risposte suggerite tramite streaming. Comunque mi chiedo quale sia l'approccio migliore considerando il suo file Excel. Le dimensioni dei file possono a volte avvicinarsi a ~ 10 Mb.

risposta

7

Sì, streaming funzionerà TCP o HTTP - dovresti usarlo. L'uso dello streaming rimuoverà la necessità di disporre di ampi buffer in memoria contenenti l'intero file contemporaneamente. Ciò aumenterà la scalabilità della tua applicazione.

2

Poichè JP dice che lo streaming è una buona opzione, in genere raccomanderei di farlo. Il libro "Essential Windows Communication Foundation" suggerisce che se hai bisogno di una messaggistica affidabile, di firme digitali o di riprendere dopo l'errore, un'altra opzione è quella di inserire manualmente i dati in messaggi più piccoli e quindi ricostituirli sul server.

Problemi correlati