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

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

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

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

我不知道是什么给了我401。是Web服务器拒绝了我,还是它是ssrs本身(我是ssrs的新手,所以我对ssrs本身的报告权利了解不多,但是如我所说:我的登录凭据与webrequest凭据相同:用户A)。

我已经在Google上搜索了很多,并尝试了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# - 通过带有Webrequest的“正常” URL以Excel格式打开ssrs报告,返回401,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5336976/

10-13 06:12