2013-09-14 3 views
1

Приложение My IOS позволяет пользователю хранить файлы, такие как PDF, изображения и т. Д. Нам нужно синхронизировать файлы приложений с облаком, так как мы также предлагаем пользователю веб-портал для просмотра тех же данных. Я использую WCF (Mtom encoding/streaming) в моем приложении Windows Forms, но это не работает в Xamarion.iOS (MonoTouch). Кажется, что существует проблема с кодировкой сообщений Mtom, поэтому я смотрю альтернативный и/или лучший способ получения файлов, загружаемых надежно, таких как потоковая передача, показ прогресса и использование async ждут на C# 5, если это возможно.Лучший способ загрузить файлы из приложения iOS на Windows Server?

Какой метод вы рекомендуете, и если у вас есть образец кода или ссылки, это было бы здорово. Кроме того, что требуется в IIS 7.5 при запуске Windows Server 2008 R2. Наконец, любые проблемы с брандмауэром при запуске устройства Watchguard, поэтому, если мне нужно открыть что-нибудь, чтобы это работало, пожалуйста, посоветуйте. Я предполагаю, что это произойдет через HTTP или HTTPS.

Я провел некоторое исследование веб-клиента, webDAV и т. Д., Но не уверен, что на самом деле является лучшим подходом для этого сценария.

спасибо.

+0

Привет, Ларри - iOS 7, пожалуйста, поделитесь тем, что вы хотели поделиться. Благодарю. – Neal

ответ

2

HttpClient (async) или WebClient будет обрабатывать закачки просто отлично. Вы можете создать обработчик загрузки ASP.NET или действие MVC для чтения файла, помещенного в HTTP.

Некоторые полезные ссылки:

C# HttpClient 4.5 multipart/form-data upload

Getting the upload progress during file upload using Webclient.Uploadfile

http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx

Edit: ответ знакомства Ларри О'Брайен в объяснении родной MonoTouch.Foundation.NSUrlSession IOS 7, которая позволяет фоновые переводы.

+0

bayfrontконсультации спасибо! Любое мнение о том, что лучше для загрузки - WCF с Mtom/streaming vs. webclient? – Neal

+0

Честно говоря, я бы держался подальше от более тяжеловесного материала, такого как WCF, в мобильном пространстве. Я уверен, что многие люди использовали его успешно. – kwcto

2

iOS 7 представляет новый класс, MonoTouch.Foundation.NSUrlSession, что является предпочтительным способом передачи больших файлов в Интернет и из Интернета. NSUrlSession переводы могут работать, когда приложение находится в фоновом режиме.

Модель программирования объясняется в this article.

Адрес sample application that demonstrates the technique.

+0

Спасибо - конечно интересный вариант для iOS 7 и выше. Для реализации этой опции требуется опция загрузки (а не загрузка) и система с устройства на конфигурацию IIS. – Neal

+0

@Neal 'NSUrlSession' также загружает файлы, но я не знаю аспект ответа на стороне сервера. –

+0

Спасибо за отзыв Ларри! – kwcto