Ios 使用AFHTTPSessionManager时的多响应类型

Ios 使用AFHTTPSessionManager时的多响应类型,ios,iphone,afnetworking,afnetworking-2,Ios,Iphone,Afnetworking,Afnetworking 2,我在使用AFV2处理多响应序列化程序时遇到一些问题。 背景资料是 我使用AFHTTPSessionManager作为单例对象来处理所有CRUD服务。 有多个服务返回不同的响应类型(纯文本/json/xml) 当我使用compoundResponseSerializer时,问题出现在服务返回特定类型的响应时,只要响应类型在它接受的compoundResponseSerializer中,而不抛出序列化错误 当我为每个调用分别更改responseSerializer时,每个请求的验证工作正常;但是,当

我在使用AFV2处理多响应序列化程序时遇到一些问题。 背景资料是

我使用AFHTTPSessionManager作为单例对象来处理所有CRUD服务。 有多个服务返回不同的响应类型(纯文本/json/xml)

当我使用compoundResponseSerializer时,问题出现在服务返回特定类型的响应时,只要响应类型在它接受的compoundResponseSerializer中,而不抛出序列化错误

当我为每个调用分别更改responseSerializer时,每个请求的验证工作正常;但是,当多个响应同时返回时,作为竞争条件,responseSerializer会混淆,因此它会返回序列化错误,即使响应的格式与我请求的格式正确

在这种情况下,您能澄清一下我是否不恰当地使用了AFN网络吗?在这个场景中有更合适的使用方法吗

很少有可能的解决方案是,我为每个请求创建一个队列,并为每个请求更改响应序列化程序;但是,只有当并发操作每次仅限于一个请求时,它才起作用。这不是我想要的;我想同时处理多个请求

另一个解决方案是使用compoundResponseSerializer,并在AFNetworking返回响应后再次验证


有人知道我做错了什么或有其他建议吗?

使用compoundResponseSerializer有什么问题?这就是它的目的。你可以尝试为每个请求创建一个新的实例对象,而不是使用单一实例。这样,每个请求都可以独立使用任何响应序列化器使用compoundResponseSerializer有什么错?这就是它的目的。你可以尝试为每个请求创建一个新的实例对象,而不是使用单一实例。这样,每个请求都可以独立使用任何响应序列化程序