我的 iOS 应用程序允许用户存储 PDF、图像等文件。我们需要将应用程序文件同步到云端,因为我们还为用户提供了一个 Web 门户来查看相同的数据。我在我的 Windows 窗体应用程序中使用 WCF(Mtom 编码/流),但这在 Xamarion.iOS (MonoTouch) 中不起作用。 Mtom 消息编码似乎存在问题,因此我正在寻找一种替代和/或更好的方式来可靠地上传文件,例如流式传输、显示进度,并在可能的情况下在 C# 5 中使用异步等待。
您推荐什么方法,如果您有任何示例代码或链接,那就太好了。另外,当我运行 Windows Server 2008 R2 时,IIS 7.5 需要什么。最后,当我运行 Watchguard 设备时出现任何防火墙问题,所以如果我需要打开任何东西才能让它工作,请告知。我假设这会通过 HTTP 或 HTTPS 发生。
我已经对网络客户端、webDAV 等进行了一些研究,但不确定对于这种情况真正最好的方法是什么。
谢谢。
请您参考如下方法:
HttpClient(异步)或 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
编辑: 请参阅 Larry OBrien 的回答,解释 iOS 7 native MonoTouch.Foundation.NSUrlSession 允许后台传输。
