c# - 通过 'normal' url 打开 Excel 格式的 ssrs 报告,webrequest 返回 401

标签 c# ssrs-2008 reporting-services

我想在代码中下载 Excel 格式的 ssrs 报告。

所以我首先检查了网址:它是正确的 然后我创建了一个 webrequest,为同一用户创建了一个 NetworkCredential,它可以在浏览器中打开链接。

我将开发转移到 ssrs 机器本身(它上面有 vs2008)

所以现在我在 ssrs 机器上,以用户 A 身份登录,启动网页,使用与我当前登录到 ssrs 机器(用户 A)相同的凭据创建一个 webrequest....并获得 401。

我不知道是什么给我 401。是网络服务器拒绝我,还是 ssrs 本身(我是 ssrs 的新手,所以我不太了解 ssrs 中报告的权利本身,但正如我所说:我的登录凭据与网络请求凭据相同:用户 A)。

我在谷歌上搜索了很多并尝试了 5 种解决方案,但到目前为止还没有成功。

最佳答案

如果需要 NTLM 凭据,这将不起作用:

webrequest.Credential = new networkcredential ("","","");

您可以尝试以下方法,但它可能不起作用:

webrequest.Credentials = CredentialCache.DefaultNetworkCredentials;

您可能需要传递实际凭据,例如:

NetworkCredential networkCredential = new NetworkCredential(UserName, Password, Domain);
CredentialCache credCache = new CredentialCache();
credCache.Add(new Uri(url), "NTLM", networkCredential);
webrequest.Credentials = credCache;

SSRS 将需要对 WebRequest 进行身份验证,并且不能传入默认/空白凭据。

关于c# - 通过 'normal' url 打开 Excel 格式的 ssrs 报告,webrequest 返回 401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336976/

相关文章:

sql-server-2008-r2 - 为 rsProcessingAborted 显示来自 SSRS 报告管理器的自定义错误

reporting-services - SQL Server 报告服务 : Cell Value Not Repeating when using table/matrix wizard

visual-studio-2010 - SSRS 和 Crystal 报表的区别

reporting-services - 在 SQL Reporting Server 上获取 xml CRM 报告

c# - 在 SQL SERVER Reporting Services (SSRS) 中显示 rtf 数据

c# - 如何使两个文本框从两侧工作?

c# - 在 C# 中管理 COM 对象

c# - 线程问题

c# - Entity Framework where、order 和 group

reporting-services - 在 ssrs 2008 中将报告导出为 excel 时合并列或空白列