webclient.uploadvalues ​​иногда вызывает ошибку «объект не установлен в экземпляре» - PullRequest
0 голосов
/ 17 сентября 2018

Я не понимаю, почему это происходит. Мой код вызывает некоторые службы Rest с помощью webclient.uploadvaluesAsync (). Эта работа большую часть времени, однако, иногда я получаю nullexception с «объект не установлен в экземпляр». Может кто-нибудь помочь, пожалуйста?

try
        {
            using (var wb = new WebClient())
            {

                var data = new NameValueCollection();
                data.Add("client_assertion",tokenStr);
                data.Add("client_assertion_type", HttpUtility.HtmlEncode("urn:ietf:params:oauth:client-assertion-type:jwt-bearer"));
                data.Add("code", code);
                data.Add("grant_type", "authorization_code");

                byte[] rspStrn = new byte[0];
                rspStrn = await wb.UploadValuesTaskAsync($"{IdpUrl}api/openid_connect/token", "POST", data);
                var responseString = Encoding.ASCII.GetString(rspStrn);
                dynamic tokenResponse = JObject.Parse(responseString);
                responseString, false);

                return tokenResponse;
            }

        }
        catch (WebException ex)
        {
            string responseText;

            using (var reader = new StreamReader(ex.Response.GetResponseStream()))
            {
                responseText = reader.ReadToEnd();
            }
            log.Info("GetToken method webexception: " + ex);
            throw new WebException("json exception: " + responseText);

        }
        catch (ArgumentNullException ex)
        {
...