Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用GET执行WebRequest时ProtocolViolationException异常_C#_.net_Windows Phone 7_Http Get - Fatal编程技术网

C# 使用GET执行WebRequest时ProtocolViolationException异常

C# 使用GET执行WebRequest时ProtocolViolationException异常,c#,.net,windows-phone-7,http-get,C#,.net,Windows Phone 7,Http Get,我正在尝试从Windows Phone应用程序的公共API收集数据 private void GatherPosts() { string url = baseURL + "?after=" + lastPostId + "&gifs=1"; HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.ContentType = "text/json"; reques

我正在尝试从Windows Phone应用程序的公共API收集数据

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);
}

但是我在回调方法的最后一行不断得到一个
ProtocolViolationException
,消息是
使用此方法的请求不能有请求正文。
。我读到这是因为我试图发送数据,这显然是GET协议所禁止的,但我不知道我在哪里做,即如何避免它。

可能是
ContentType
让它认为有一个请求体,因此出现了异常


您可能希望设置
接受编码

尝试对设置
内容类型的行进行注释。好吧,json请求总是有一个主体,而不是一个
get
。正常工作的情况。我认为我不需要接受编码,因为规范说它将始终是JSON。