Произошла одна или несколько ошибок.(Произошла ошибка при отправке запроса) Интеграция списка Mailchimp

#c# #asp.net #mailchimp #dotnet-httpclient #mailchimp-api-v3.0

#c# #asp.net #mailchimp #dotnet-httpclient #mailchimp-api-v3.0

Вопрос:

Я разрабатываю систему, которая продлевает подписку и отправляет подписчикам уведомления о действиях в их учетной записи. Я реализую Mailchimp для отправки электронных писем и уведомлений подписчикам. Мне нужно добавить списки в Mailchimp и восстановить его в системе. Я получаю сообщение об ошибке при получении списков из Mailchimp в систему. В нем говорится:

Запрос был прерван: не удалось создать защищенный канал SSL / TLS. Произошла ошибка при отправке запроса.

Вот код.

    protected void btnLoadList_Click(object sender, EventArgs e)
    {
        try
        {
            var button = (Button)sender;
            var gift = false;
            var combo = cboMailChimpLists;
            var text = txtChimpListNameID;
            if (button != null)
            {
                gift = button.ID == "btnRefreshListGift";
                if (gift)
                {
                    combo = cboMailChimpListsGift;
                    text = txtChimpListNameIDGift;
                }
            }
            var myList = new MailChimpList(txtChimpKey.Value);
            var test = myList.GetAllListsAsync();
            var testList = new List<KeyValuePair<string, MCLists>>();

            test.Wait(1000);      
      
            string reset = null;
            m_saveLists.Clear();
            if (test.Status == TaskStatus.RanToCompletion)
            {
                combo.Items.Clear();

                foreach (var list in test.Result.lists)
                {
                    testList.Add(new KeyValuePair<string, MCLists>(list.name, list));
                    if (IsNullOrEmpty(text.Value)) continue;

                    if (text.Value == list.id)
                        reset = list.name;
                }
            }
            int counter = 0;
            testList = testList.OrderBy(kvp => kvp.Key).ToList();
            foreach (var sort in testList)
            {
                combo.Items.Add(sort.Key);
                m_saveLists.Add(counter.ToString(), sort.Value.id);
                counter  ;
            }
            if (!IsNullOrEmpty(reset))
                combo.Text = reset;
            ViewState["SavedList"] = m_saveLists;
            if (combo.SelectedIndex >= 0)
            {
                DropDownList1_SelectedIndexChanged(gift ? cboMailChimpListsGift : cboMailChimpLists, null);
            }
        }
        catch (AggregateException ex)
        {
            SiteToolKit.Tools.ExceptionHandler(ex, "btnLoadList_Click", lblError);
        }
    }
  

Списки ошибок выглядят следующим образом:

введите описание изображения здесь

Проблема возникает в test.Wait() методе. Я не могу отслеживать больше, чем это. Но это работает в некоторых случаях, т.Е. на некоторых клиентах. У меня более 100 клиентов, и у каждого клиента есть свои собственные продукты. Это работает для некоторых клиентов и загружает список должным образом, но в некоторых клиентах возникает ошибка.

Рабочие списки выглядят следующим образом:

введите описание изображения здесь

Могу ли я что-нибудь изменить?

Ответ №1:

Попробуйте установить протокол безопасности:

  ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
  

перед

 test.Wait();