获取SSRS报告作为c#代码的纯html

时间:2014-02-24 15:59:53

标签: c# asp.net reporting-services httpwebrequest

我正在尝试将SSRS repoert作为html在移动设备上打开它。 我已将相关凭据添加到 HttpWebRequest 对象,并且如果我使用以下模式URL,则会获得结果:

  

http://APPserver.com/ReportServer/Pages/ReportViewer.aspx?/APP/APP%20Reports/RequestReport&ReportFormat=expandable&rc:Parameters=false&APPRequestId=c624561c-5f40-4545-8e13-d900c83449a8&rs:Command=Render&rs:Format=HTML4.0


这种格式给了我很多文字,但不是我需要的纯HTML,所以我添加了清理报告文件的参数,我得到了我需要的来自浏览器,但当我'我试图从c#代码中获取它我得到401错误。

参数是:

  

&安培; RC:工具栏=假

如下:

  

http://APPserver.com/ReportServer/Pages/ReportViewer.aspx?/APP/APP%20Reports/RequestReport&ReportFormat=expandable&rc:Parameters=false&APPRequestId=c624561c-5f40-4545-8e13-d900c83449a8&rs:Command=Render&rs:Format=HTML4.0&rc:toolbar=false

我使用管理员凭据从自己的服务器检查此代码,但是使用此参数的代码无效。

谢谢! 纳夫塔利。

1 个答案:

答案 0 :(得分:0)

我找到了浏览器和代码凭证之间的不同解决方案。 使用默认网络凭据为我提供了与浏览器客户端相同的凭据:

request.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

而不是:

request.Credentials = request.Credentials = new NetworkCredential("user", "password");

显然使用凭证stracture可以提供更多所需的数据。

谢谢, 纳夫塔利。