MVC upload plików

0

Mam aplikację MVC w której klient może uploadować pliki, które następnie kontroler wysyła do usługi WCF, która dopiero zapisuje plik w magazynie.
Jak uzyskać strumieniowe przesłanie pliku od klienta do usługi WCF.
Bo teraz efekt jest taki że metoda w MVC wołana jest dopiero jak cały plik zostanie przesłany na serwer i dopiero wtedy następuje strumieniowanie pliku do WCF, ale efekt jest taki że kontrolka na gui pokazuje że 100% pliku zostało wysłane, tak, ale na serwer www, a teraz trzeba jeszcze ten plik wysłać do usługi i tam zapisać, więc dla większych plików wygląda to tak że plik się wysłał i trzeba jeszcze kilkanaście, kilkadziesiąt sekund poczekać na odpowiedź z usługi do mvc i do klienta aby pokazać komunikat że upload zakończony.
Czyli:
jak strumieniować: przeglądarka -> mvc -> wcf -> magazyn
i jak po stronie klienta dostawać informację o postępie całego procesu, aby móc wyświetlić jakiś progress bar, czy coś takiego?

0

poczytaj o WCF w trybie duplex

0

Ale to rozwiązuje tylko problem komunikacji między MVC i WCF.
Czy nasłuchując na odpowiedź od WCF, MVC po jej otrzymaniu ma pisać do strumienia wyjściowego? Tylko przed zamknięciem response jak po stronie przeglądarki się odbiera takie informacje?

Poza tym nie rozwiązuje problemu uploadu dużego pliku do MVC, który dalej musi być w całości pchnięty do servera www.
Mogę co prawda wysyłać plik w mniejszych chunk'ach, ale to rodzi kolejne problemy do rozwiązania, m.in. po stronie WCF trzeba je zapisywać w poprawnej kolejności.

0

komunikacja klient->serwer http nie masz duzego wyboru przy duzym pliku - wysylanie w chunkach albo olewasz temat.
Jak juz bedzie przetwarzanie po stronie WCFa to na podstawie callbackow przychodzacych WCF w MVC mozesz gdzies zapisywac stan przetwarzania, a klient odpytywalby ajaxem o aktualny stan przetwarzania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1