Silverlight - Как получить строку Webresponse из WebClient.UploadStringAsync - PullRequest
3 голосов
/ 09 февраля 2012
    public void Register(string email, string name, string hash)
    {
        string registerData = "{\"email\":\"" + email + "\",\"name\":\"" + name + "\",\"hash\":\"" + hash + "\"}";

        WebClient webClient = new WebClient();
        webClient.Headers["Content-Type"] = "application/json";
        webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(HandleRegisterAsyncResult);
        webClient.UploadStringAsync(new Uri(registerUrl), registerData);
    }

    void HandleRegisterAsyncResult(object sender, UploadStringCompletedEventArgs e)
    {

}

Я в основном пытаюсь вызвать веб-сервис с помощью команды https: // post, которая принимает строку данных. Это работает хорошо, за исключением случаев, когда я получаю ошибку, я не могу найти фактический контент WebResponse. Если я приведу e.Error, которое было возвращено к WebException, есть класс Response, который является BrowserHttpWebResponse, но ContentLength равен 0 (хотя я могу видеть, что длина содержимого не равна 0 в fiddler)

Есть ли способ получить содержание ответа этим методом? А если нет, то есть ли другой способ выполнить команду Post, которая позволяет мне получить содержимое ответа?

...