Использование HttpClient и WebClient для получения содержимого подробного отчетаC#

Место общения программистов C#
Ответить
Anonymous
 Использование HttpClient и WebClient для получения содержимого подробного отчета

Сообщение Anonymous »

Я использую httpclient для загрузки отчета SSRS с сервера, ссылка на отчет ssrs длинная, содержит пустые места в специальных символах имени отчета и т. д.
exp(http:// server/ReportServer_ssrs?/folder/folder_some_folder_new/test/Drilldown — имя некоторого отчета (500)&session=session&languageID=1033&dateSelection=13&begDate=04.08.2022 00:00:00&endDate=04.08.2022 00:00:00&rc:Toolbar=False ...):

Код: Выделить всё

var clientHandler = new HttpClientHandler { CookieContainer = cookieContainer, ,Credentials=NetworkCredentials};

using (var client = new HttpClient(clientHandler))
{
var content= await client.GetStringAsync(reportUrl);
}
проблема в том, что когда я использую HttpCilent, он выдает ошибку:

Код: Выделить всё

 Response status code does not indicate success: 500 (Reporting Services Error).
внутреннее исключение имеет значение null, но если я использую тот же URL-адрес с WebClient

Код: Выделить всё

 using (WebClient webClient = new WebClient())
{
webClient.Credentials = NetworkCredentials;
content= webClient.DownloadString(reportUrl);
}
содержимое возвращается и все в порядке. Я предполагаю, что что-то не так с URL-адресом отчета, я пытался использовать Uri.EscapeDataString, Uri.EscapeString, но всегда безуспешно с HttpClient, я получаю ошибку 500.
Я не хочу используйте веб-клиент, поскольку он устарел, и даже состояние VS вместо этого использует HttpClient, но, очевидно, я делаю что-то неправильно, веб-клиент каким-то образом знает, как получить отчет.
Любое предложение приветствуется

Подробнее здесь: https://stackoverflow.com/questions/732 ... own-report
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»