WebRequest Запрос был прерван, Запрос был отменен - PullRequest
1 голос
/ 03 марта 2020

[РЕДАКТИРОВАТЬ] мою ошибку - показала неправильную строку, в которой произошла ошибка.

Я SQL Разработчик сервера, а не. net Разработчик, так что терпите меня, пожалуйста.

Использование стороннего API отдыха с использованием задачи «Сценарий» в SSIS (Visual Studio 2017) и получение следующей ошибки

Запрос был прерван, Запрос был отменен.

Это код, который я использую

    string responseMessage = null;
    string pushResponse = null;

    try
    {
        WebRequest req = WebRequest.Create(post_url);
        req.Method = "POST";
        req.ContentType = "application/json";
        req.Timeout = 600000;
        req.Credentials = new NetworkCredential(api_username, api_password);
        using (var streamWriter = new StreamWriter(req.GetRequestStream()))
        {
            string json = "{\r\n\"carCountryCode\": \"" + api_countryCode + "\",\r\n\"carLicenseNumber\": \"" + carLicenseNumber + "\",\r\n\"client\": \"" + api_client + "\"\r\n}";

            streamWriter.Write(json);
        }


        if (req != null)
        {
            var response = req.GetResponse() as HttpWebResponse;
            if (response.StatusCode == HttpStatusCode.OK)
            {
                System.IO.Stream responseStream = response.GetResponseStream();
                if (responseStream != null)
                {
                    var reader = new System.IO.StreamReader(responseStream);

                    responseMessage = reader.ReadToEnd();
                    pushResponse = responseMessage;
                    reader.Close();
                    responseStream.Close();
                    response.Close();
                }
                responseStream.Close();
                response.Close();
            }
            else
            {
                responseMessage = response.StatusDescription;
                //MessageBox.Show("Error:" + responseMessage);
            }
            //MessageBox.Show("Success: " + pushResponse);
            response.Close();
        }

    }
    //catch (Exception e)
    catch (Exception ex)
    {
        Dts.Events.FireError(0, "ERROR", ex.Message, null, 0);
        Dts.TaskResult = (int)ScriptResults.Failure;
    }

Ошибка генерируется в строке - [РЕДАКТИРОВАТЬ] моя ошибка, показала неправильную строку до

var response = req.GetResponse() as HttpWebResponse;

Это работало до об этом утре. Я проверил, и сервис запущен.

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Возможно, это глупый вопрос, но если он работал и внезапно остановился ... Вы проверили, доступна ли эта служба? Используйте Почтальон для проверки.

0 голосов
/ 03 марта 2020

Нам нужно отредактировать этот файл и переопределить унаследованный метод GetWebRequest. Переопределяющий метод должен выглядеть примерно так (пример записан в C#):

    protected override WebRequest GetWebRequest(Uri uri)
    {
        HttpWebRequest webRequest = (HttpWebRequest)base.GetWebRequest(uri);

        webRequest.KeepAlive = false;
        webRequest.ProtocolVersion = HttpVersion.Version10;
        return webRequest;
    }

помните, что когда вы выполняете команду «Обновить веб-ссылку», VS сгенерирует файл и ваши изменения будут потеряны. Поэтому вам нужно будет переопределять метод снова после каждого обновления.

...