草庐IT

NSUrlSession

全部标签

ios - NSURLSession 多个并发请求被 Exchange 服务器拒绝

我已将我的NSURLConnection代码替换为NSURLSession以使用EWSExchange服务器获取数据。我的应用进行多个并发API调用。它工作正常,但现在,当我使用NSURLSession时,我的一些API调用获得了正确的响应,而一些则从交换服务器获得错误,如下所示:{"s:Envelope"={"s:Body"={"m:GetItemResponse"={"m:ResponseMessages"={"m:GetItemResponseMessage"={ResponseClass=Error;"m:DescriptiveLinkKey"={text=0;};"m:Ite

ios - Xamarin 中的 NSUrlSession

我已经开始学习Xamarin并创建了从服务器检索数据的小教程。我使用了NSUrlSession机制。下面是我的代码。我不确定为什么会显示NSUrlSession警告。请帮助我理解和解决此警告。警告CS0618:“NSUrlSession.FromConfiguration(NSUrlSessionConfiguration,NSUrlSessionDelegate,NSOperationQueue)”已过时:“使用带有INSUrlSessionDelegate参数的重载。”(CS0618)(示例应用)publicvoidgetData(){NSUrlurl=newNSUrl("some

ios - 如何将委托(delegate)更改为 NSURLSession

我正在使用NSURLSession进行服务器通信。我有2个单独的类(class)用于下载和上传文件。我想使用SingleNSURLSession进行下载和上传操作。在这种情况下,我无法在运行时使用setDelegate选项更改NSURLSession的委托(delegate),因为我正在使用委托(delegate)来验证数据。有没有办法在运行时更改NSURLSession的委托(delegate)对象?谢谢。 最佳答案 正如Rob所说,您不能更改NSURLSession的委托(delegate)。您还有一些其他选择。您可以设置一个下

如果无法使用 NSURLSession 下载文件,iOS::error 为 nil

我正在使用NSURLSession和NSURLSessionTask在应用程序中下载文件。如果文件存在于服务器上,那么它工作正常。如果文件不可用,那么它将数据写入文件并且不下载它。例如::如果文件不可用,它会写Accessisdenied在文件中并完成任务,没有任何错误。在这种情况下,错误为零。但我想向用户显示警告框,提示文件不可用。下面是代码...task1=[sessiondataTaskWithURL:[NSURLURLWithString:[S3_SERVER_URLstringByAppendingString:propFile]]completionHandler:^(NS

ios - NSURLSession任务执行顺序

我正在按顺序向NSURLSession(后台模式)添加多个任务。我一直保持HTTPMaximumConnectionsPerHost=1。但是,我看到上传是按随机顺序进行的,即在第一个项目可能是第5个项目被拾取之后,然后是第3个项目等等-上传不会按顺序进行我已经提供给NSURLSession。有没有一种方法可以完全按照添加的方式对上传进行排序? 最佳答案 我们不确保您的执行任务将按配置HTTPMaximumConnectionsPerHost=1的顺序执行,因为它只能保证一次执行一个任务。在按顺序同步执行任务方面,您可以使用NSOp

ios - 具有自定义身份验证质询的 NSURLSession?

我们的应用程序使用NSURLSession来调用RESTful服务。调用本身通过反向代理路由,以帮助后端进行session管理、安全等。我们遇到的唯一问题与身份验证有关。当用户尝试访问protected资源时(无论是通过浏览器还是REST调用)并且他们未通过身份验证,反向代理会显示一个HTML登录页面。问题是,我们想利用NSURLSession的能力来自动处理身份验证挑战。但是,NSURLSession无法识别我们正在返回身份验证质询,因为没有向客户端返回HTTP401或其他错误代码。反向代理发回200,因为HTML已成功传递。我们能够通过检查客户端中的HTML来识别它是登录页面,但是

ios - NSURLSession 和多线程

我只是想澄清一些事情,尽管从我目前在Apple的文档中读到的内容来看这似乎相当简单。当NSURLSession发挥作用时,默认情况下,任何任务都设置为在单独的线程上运行。所以当我写NSURLSession*session=[NSURLSessionsessionWithConfiguration:sessionConfigdelegate:selfdelegateQueue:nil];[[sessiondownloadTaskWithRequest:request]resume];下载过程(委托(delegate)方法、完成处理程序等)在主队列以外的队列(即线程)上运行。因此,例如不需

ios - 无法在 NSURLSession 委托(delegate)方法中更新用户界面

-(void)URLSession:(NSURLSession*)sessiondownloadTask:(NSURLSessionDownloadTask*)downloadTaskdidWriteData:(int64_t)bytesWrittentotalBytesWritten:(int64_t)totalBytesWrittentotalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{floatprogress=(float)((float)totalBytesWritten/(float)totalBytesE

ios - 流式/分块 HTTP 和 NSURLSession 挂起

我有这段代码,我一直在尝试移植。该代码在使用WinHTTP实现的Windows上100%正常工作。在IOS7模拟器上,我使用的是NSURLSession。对于常规HTTPSget/post似乎工作正常。当我使用“流式”HTTP时,事情开始崩溃。在这种情况下,内容长度是未知的,因为数据是连续流入的。我有一个阻塞同步下方调用,它将等待当前请求完成。当我使用第一个命令时,同步循环将在委托(delegate)被命中后退出。但是,如果我用注释的第二行替换同步循环挂起。[m_pDelegate.sessioninvalidateAndCancel];//[m_pDelegate.sessionfi

ios - 当应用程序以 NSURLSession 终止时,NSURLDomainErrorDomain 错误 -999

当我终止应用程序时,我在使用NSURLSession时遇到了很大的麻烦。我已经下载了苹果示例:https://developer.apple.com/library/ios/samplecode/SimpleBackgroundTransfer/Introduction/Intro.html关于Apple引用。当我开始下载时,文件下载正确。当我进入后台时,下载继续进行。当我终止应用程序并重新启动应用程序时,应用程序输入:-(void)URLSession:(NSURLSession*)sessiontask:(NSURLSessionTask*)taskdidCompleteWithE