Загрузка файла Silverlight: это безопасно?

Я видел образец загрузки Silverlight здесь упоминается несколько раз на этом сайте и в других местах, но у меня вопрос, действительно ли это безопасно.

Краткий обзор: этот код выполняет «фрагментированную» загрузку в обработчик ASHX. UploadFileChunk () создает экземпляр WebClient и использует OpenWriteAsync и OpenWriteCompletedEventHandler для отправки некоторых битов из файла. WebClient взаимодействует с обработчиком, используя URI с двумя параметрами QueryString: «filename» и «append». После записи битов в блоке в выходной поток WebClient обработчик событий проверяет, все ли биты были отправлены, и, если нет, он снова вызывает UploadFileChunk (), чтобы отправить другой блок.

На стороне сервера обработчик прост - записать биты на диск с помощью FileStream, добавить, если append = 1, и создать заново, если append = 0.

Эта архитектура, скорее всего, приведет к проблемам. Гарантированно ли сервер завершит запись битов и закрытие файлового потока до того, как он получит следующий запрос и начнет добавлять биты из следующего фрагмента? Насколько я понимаю, OpenWriteCompletedEventHandler на стороне Silverlight заключается в том, что когда вы завершаете операцию записи и закрываете поток, это не обязательно означает, что биты еще были отправлены по сети, не говоря уже о том, что они были обработаны обработчиком на стороне сервера.

Спасибо!


person nlawalker    schedule 17.05.2010    source источник


Ответы (1)


Если у вас есть какие-либо опасения по поводу загрузки файлов большего размера (я видел сообщения о проблемах с очень большими файлами), попробуйте один из бесплатных загрузчиков файлов с открытым исходным кодом Silverlight нравится этот

person Gone Coding    schedule 23.08.2010