我正在开发一个使用 Web 服务的 Windows Phone 8 应用程序。这个特定的 Web 服务需要一个带有实体主体的 GET 请求。
我正在使用 System.Net.Http.HttpClient 来发送这个请求,我已经成功地使用它来发送各种其他 Web 请求(GET、POST 和 PUT)。这是第一个包含有效负载的 GET 请求,因此包含 Content-Type 和 Content-Length 标头。
请求失败,并出现如下异常:
“TaskHost.exe”(CLR C:\windows\system32\coreclr.dll:Silverlight AppDomain):已加载“C:\windows\system32\en-US\mscorlib.debug.resources.dll”。模块是在没有符号的情况下构建的。System.Windows.ni.dll 中发生了“System.Net.ProtocolViolationException”类型的异常,并且在托管/本机边界之前未进行处理 mscorlib.ni 中发生了“System.Net.ProtocolViolationException”类型的第一次机会异常。 dll mscorlib.ni.dll 中出现“System.Net.ProtocolViolationException”类型的异常,并且在托管/本机边界之前未处理
尽管根据我的研究,在 GET 请求中包含有效负载有点不寻常,但 RFC 并未明确禁止。
我没有更改网络服务的选项。System.Net.Http.HttpClient 是否完全不允许带有实体主体的 GET?如果没有,是否有任何解决方法?
谢谢你。