0

我有报告的URL,它是在SSRS服务器上的网址中包含:运行报告程序使用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

可以使用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

确保您传递给CallUrl()方法的URL是正确的。 – HenrikV

+0

网址是好的,它可以是SSRS吗? 也许来自ssrs的报告我需要更多东西? –