2013-07-24 2 views
5

Да, я хочу экспортировать отчет SSRS в PDF и вернуть его из моего действия, У меня нет Report Viewer. Предложите мне, как я могу это достичь. до сих пор я сделал этоЭкспорт отчета SSRS в PDF в действии MVC

public void SqlServerReport() 
    { 
     NetworkCredential nwc = new NetworkCredential("username", "password", "domain"); 
     WebClient client = new WebClient(); 
     client.Credentials = nwc; 
     string reportURL = "http://servername/ReportServer/reportfolder/StateReport&rs:Command=Render&rs:Format=PDF"; 
     Byte[] pageData = client.DownloadData(reportURL); 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now); 
     Response.BinaryWrite(pageData); 
     Response.Flush(); 
     Response.End(); 
    } 

Приведенный выше код генерирует исключение

"The remote server returned an error: (401) Unauthorized." 

Мои вопросы
1) я буду в правильном направлении?
2) Есть ли лучшая альтернатива для достижения этого?

ответ

7

Я исправил выше код и теперь его рабочая

public ActionResult GetPdfReport() 
    { 
     NetworkCredential nwc = new NetworkCredential("username", "password"); 
     WebClient client = new WebClient(); 
     client.Credentials = nwc; 
     string reportURL = "http://someIp/ReportServer/?%2fReportProjectName/ReportName&rs:Command=Render&rs:Format=PDF"; 
     return File(client.DownloadData(reportURL), "application/pdf"); 
    } 

я не нашел какой-либо другой альтернативы, кроме этого экспортировать SSRS отчет в MVC без использования ReportViewer.

+0

Почему я не получаю 401 с помощью тега