0

я есть Url доклада, который находится на сервере SSRS, URL-адрес содержит:Выполнить отчет программно с помощью URL с помощью C#

http://<**ServerAdress**>/<**ServerName**>/Pages/ReportViewer.aspx?<**reportPath**>&<**report_Parameters**> 

программно (с помощью C#) я хочу, чтобы выполнить URL, не открывая браузер. , когда я использую ReportExecutionService Мне нужно определить параметры вручную (используя ParameterValue[] ...) Я не знаю, как их вызывать из URL-адреса. Итак, есть ли способ, которым я могу выполнить отчет с URL-адресом без открытия браузера?

+0

http://stackoverflow.com/questions/30095445/save-ssrs-report-as-pdf-in-c-sharp-programmatically – Hackerman

ответ

0

Можно программно вызвать URL с помощью C#:

public static async Task<bool> CallUrl(string url) 
    { 
     try 
     { 
      var client = new HttpClient(); 

      client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", 
       "text/html,application/xhtml+xml,application/xml"); 
      client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Encoding", "gzip, deflate"); 
      client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", 
       "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0"); 
      client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Charset", "ISO-8859-1"); 

      var response = await client.GetAsync(url); 
      response.EnsureSuccessStatusCode(); 

      return true; 
     } 
     catch 
     { 
      return false; 
     } 
    } 

Пример вызова этого метода:

 var result = CallUrl("http://www.bbc.co.uk"); 
     result.Wait(); 
     Console.WriteLine(result.Result); 

Это должно запустить отчет, не открывая браузер.

+0

спасибо за ответ. статус в порядке, но отчет не работает на фоне. Возможно, я что-то пропустил? –

+0

Убедитесь, что URL-адрес, который вы передаете методу CallUrl(), является правильным. – HenrikV

+0

URL-адрес хорошо, может быть, SSRS? Возможно, чтобы настроить отчет от ssrs, мне нужно что-то еще? –