【问题标题】:Run report programmatically with url using C#使用 C# 以编程方式使用 url 运行报告
【发布时间】:2016-10-27 13:32:47
【问题描述】:

我在 SSRS 服务器上有一个报告的 Url,该 Url 包含:

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

以编程方式(使用 C#)我想在不打开浏览器的情况下执行 url。 当我使用 ReportExecutionService 时,我必须手动定义参数(使用 ParameterValue[]...)我不知道如何从 url 调用它们。 那么,有没有一种方法可以在不打开浏览器的情况下使用 url 执行报告?

【问题讨论】:

标签: c# reporting-services reportingservices-2005 reporting-services-2012


【解决方案1】:

您可以使用 C# 以编程方式调用 URL:

    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);

这应该会运行您的报告,而无需打开浏览器。

【讨论】:

  • 感谢您的回答。状态正常,但报告不在后台运行。也许我错过了什么?
  • 确保您传递给 CallUrl() 方法的 URL 正确。
  • 网址没问题,会不会是SSRS?也许为了调整来自 ssrs 的报告,我需要更多的东西?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
相关资源
最近更新 更多