Как исправить исключение System.ArgumentException в HttpWebResponse?

Я сталкиваюсь с этим исключением при полученииHttpWebResponse для меняWindowsPhone приложение. Как я должен это исправить. Это происходит очень часто, но мне нужно убедиться, что мое приложение нет, если это произойдет. Пожалуйста, посмотрите наСкриншот.

Мой ожидаемый ответ

       Headers:-
       HTTP/1.1 500 Internal Server Error
       Date: Wed, 28 Nov 2012 06:41:24 GMT
       Content-Type: application/json
       Transfer-Encoding: chunked
       Connection: keep-alive
       Keep-Alive: timeout=30
       Set-Cookie: ...........; path=/
       Expires: Thu, 19 Nov 1981 08:52:00 GMT
       Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
       Pragma: no-cache
       Internal Server Error: 

       Json:-
       {"status":0,"error_code":1001,"data":{"msg":"Something went wrong. Please try again later. [error code 1001]"}}

Это также показывает вInnerException сообщение какSpecified value has invalid HTTP Header characters. Parameter name: name

Пожалуйста помоги. Я неНе знаю, почему webRequest.EndGetResponse (asynchronousResult) не может прочитать ответ. Есть ли альтернатива?

ОБНОВИТЬ чтобы начать запрос:

_webRequest.BeginGetRequestStream(new AsyncCallback(GetReqeustStreamCallback), _webRequest);

private void GetReqeustStreamCallback(IAsyncResult asynchronousResult)
    {
        if ((!ReqIdEnabled || Network.RequestUniqueId == this.RequestUniqueId))
        {
            HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;

            // End the stream request operation

            using (Stream postStream = webRequest.EndGetRequestStream(asynchronousResult))
            {

                // Add the post data to the web request
                postStream.Write(_postDataInBytes, 0, _postDataInBytes.Length);

                //postStream.Dispose();
            }

            // Start the web request
            webRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), webRequest);
        }
    }

    private void GetResponseCallback(IAsyncResult asynchronousResult)
    {
        HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
            try
            {
     //**throws Exception here when my server returns 503/500 and is not caught by the catch block below**
                using (HttpWebResponse response = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult))  
                {
                    ReadResponse(response);
                }
            }
            catch (WebException ee)
            {
            }
    }

Ответы на вопрос(1)

Ваш ответ на вопрос