使用c#通过url以编程方式运行报告

本文关键字:方式 运行 报告 编程 通过 url 使用 | 更新日期: 2023-09-27 18:15:10

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

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

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

使用c#通过url以编程方式运行报告

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

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