Também estou recebendo o mesmo erro,
The request failed with HTTP status 401: Unauthorized.
Deixe-me compartilhar o que eu tentei e está funcionando bem agora.
public class CustomSSRSCredentials : IReportServerCredentials
{
private string _SSRSUserName;
private string _SSRSPassWord;
private string _DomainName;
public CustomSSRSCredentials(string UserName, string PassWord, string DomainName)
{
_SSRSUserName = UserName;
_SSRSPassWord = PassWord;
_DomainName = DomainName;
}
public System.Security.Principal.WindowsIdentity ImpersonationUser
{
get { return null; }
}
public ICredentials NetworkCredentials
{
get { return new NetworkCredential(_SSRSUserName, _SSRSPassWord, _DomainName); }
}
public bool GetFormsCredentials(out Cookie authCookie, out string user,
out string password, out string authority)
{
authCookie = null;
user = password = authority = null;
return false;
}
}
Dentro de
page_load
evento, if (!Page.IsPostBack)
{
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials ssrscredentials = new CustomSSRSCredentials("MyUserName", "MyPassword", "ServerName");
ServerReport serverReport = ReportViewer1.ServerReport;
ReportViewer1.ServerReport.ReportServerCredentials = ssrscredentials;
serverReport.ReportServerUrl = new Uri("ReportPathKey");
serverReport.ReportPath = "/Reports/MyReport";
serverReport.Refresh();
}
Isso funcionou para mim!