我正在尝试从Windows Phone应用程序的公共API收集数据。使用GET执行WebRequest时的ProtocolViolationException
private void GatherPosts()
{
string url = baseURL + "?after=" + lastPostId + "&gifs=1";
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "text/json";
request.Method = "GET";
AsyncCallback callback = new AsyncCallback(PostRequestFinished);
request.BeginGetResponse(callback, request);
}
private void PostRequestFinished(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
}
,但我一直在回调方法与消息A request with this method cannot have a request body.
最后一行得到一个ProtocolViolationException
。我读到这是因为我试图发送数据,GET协议明显禁止发送数据,但我没有看到我在做什么,即如何避免它。
尝试评论您设置“ContentType”的行。 Afaik,json请求将总是有一个BODY,而'get'则不是这种情况。 – 2013-05-13 16:42:26