.Net HttpClient Неверный URI: строка Uri слишком длинная

Используйте лимит и смещение в ваших запросах и заполните таблицу с этим контентом. Когда пользователь прокручивается вниз, загрузите следующее смещение.

Внесите метод tableView:willDisplayCell:forRowAtIndexPath: в ваш UITableViewDelegate и проверьте, является ли это последней строкой

1
задан Dan Def 17 January 2019 в 11:09
поделиться

2 ответа

У меня была похожая проблема при использовании «MultipartFormDataContent», и я бы не рекомендовал ее использовать.

Теперь я использую JSON для этого.

Вы можете найти больше информации прямо здесь: https://stackoverflow.com/a/38440832/6488079

Надеюсь, это поможет!

0
ответ дан Phteven 17 January 2019 в 11:09
поделиться

Это известная проблема практически во всех разновидностях .NET. Даже если в сообщении об исключении указано «Неверный URI», из трассировки стека вы заметите, что оно генерируется из FormUrlEncodedContent. Таким образом, тело запроса является проблемой.

Один из способов обойти это - использовать Flurl (отказ от ответственности: я автор), чтобы сделать запрос. Я явно исправил эту проблему в реализации Flurl. И в качестве бонуса он значительно очистит ваш код для построения URL и создания контента:

await ConfigurationManager.AppSettings["PardotURI"]
    .AppendPathSegments("email/version/4/do/send/prospect_email", email)
    .SetQueryParams(new {
        user_key = ConfigurationManager.AppSettings["PardotUserKey"],
        pi_key = GetAPIKey() + "&campaign_id=" + GetPardotCampaign("Capis News");
        from_email = ConfigurationManager.AppSettings["FromEmail"],
        from_name = ConfigurationManager.AppSettings["FromName"],
        name = "FlyNews - " + DateTime.Now.ToString("MM/dd/yyy h:mm tt"),
        subject = "CAPIS: Client Holdings News " + DateTime.Today.ToString("MM/dd/yyyy")
    })
    .PostUrlEncodedAsync(new {
        html_content = htmlContent,
        text_content = textContent
    });
0
ответ дан Todd Menier 17 January 2019 в 11:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: