У меня есть отчет, который, кажется, работает нормально, но при попытке загрузить его в моем приложении MVC asp.net я получаю 500. Я просто пытаюсь загрузить pdf-версию с помощью доступа к URL. Для этого я следующее:Почему я получаю 500 при попытке загрузить отчет SSRS с использованием доступа к URL?
WebClient client = new WebClient();
NetworkCredential nwc = new NetworkCredential(ConfigurationManager.AppSettings["SSRSUserName"], ConfigurationManager.AppSettings["SSRSPassword"]);
client.Credentials = nwc;
string paramList = "&OrderId=" + orderId;
string reportURL = ConfigurationManager.AppSettings["SSRSBaseUrl"] +
ConfigurationManager.AppSettings["SSRSReport"] +
"&rs:Command=Render&rs:Format=PDF" +
paramList;
try
{
byte[] reportBytes = client.DownloadData(reportURL);
}
Чтобы убедиться, что мой доклад отлично работает, я взял получившуюся строку reportURL, бросил его в браузере, и достаточно уверен, что мой отчет загружен полностью.
Кто-нибудь знает, почему я получаю 500 в своем приложении, но pdf будет отлично загружаться за пределами моего приложения с тем же URL-адресом? Есть ли у них какая-то конфигурация, которую мне не хватает?
версия сервера SQL Server 2016
Два предложения, которые несколько проб и ошибок. Вместо использования строки определите URL как [Uri] (https://msdn.microsoft.com/en-us/library/system.uri (v = vs.110) .aspx) и передайте это в 'DownloadData '. Мне интересно, если внутренне «DownloadData» имеет ожидания относительно кодирования параметров URL и кодировки по умолчанию для «WebClient», это приводит к тому, что URL-адрес становится неверным. Другой - олицетворять браузер, установив пользовательский агент, похожий на: client.Headers.Add (HttpRequestHeader.UserAgent, «Mozilla/4.0 (совместимо; MSIE 6.0; Windows NT 5.1)»); ' –
@JonathonOgden Я попытался переключите мою строку url на uri и не повезло.При попытке олицетворять браузер я получаю пару ошибок компиляции с предоставленной вами строкой. VS говорит: «Неожиданный персонаж». Любая идея, почему это не будет компилироваться? Спасибо – Jon
@JonathonOgden не знаю, что я сделал, но я получил его для компиляции, и он все еще не работает при выдаче себя за браузер. – Jon