Para invocar un reporte que se encuentre dentro del servidor de reporte solo debemos especificar los datos dentro de nuestro ReportViewer de la siguiente manera:
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://Servidor//");
ReportViewer1.ServerReport.ReportPath = "Reportes" + "/" + "Reporte.rdl";
//de esta manera podemos obtener los parámetros que va recibir el reporte y pasárselos:
List param = new List();
var listPara = ReportViewer1.ServerReport.GetParameters();
for (int i = 0; i < listPara.Count; i++)
{
param.Add(new ReportParameter(listPara[i].Name, "Valor Prametro",false));
}
ReportViewer1.ServerReport.SetParameters(param);
ReportViewer1.ServerReport.Refresh();
Si el reporte necesita credenciales para conectarse se debe usar de la siguiente manera:
ReportViewer1.ServerReport.ReportServerCredentials = new CustomReportCredentials("User", "Password", "Dom");
y para usar la clase de CustomReportCredentials debemos crearla dentro de la pagina donde este llamando el reporte de la siguiente manera:
<!-- wp:paragraph -->
<p><code><br>
public class CustomReportCredentials : Microsoft.Reporting.WebForms.IReportServerCredentials<br>
{</code><br>
<code><br>
// local variable for network credential.<br>
private string _UserName;<br>
private string _PassWord;<br>
private string _DomainName;<br>
private WindowsIdentity _ImpersonationUser;<br>
public CustomReportCredentials(string UserName, string PassWord, string DomainName)<br>
{<br>
_UserName = UserName;<br>
_PassWord = PassWord;<br>
_DomainName = DomainName;<br>
// _ImpersonationUser = ImpersonationUser;<br>
}<br>
public WindowsIdentity ImpersonationUser<br>
{<br>
get<br>
{<br>
return null; // not use ImpersonationUser<br>
}<br>
}<br>
public ICredentials NetworkCredentials<br>
{<br>
get<br>
{</code><br>
<code><br>
// use NetworkCredentials<br>
return new NetworkCredential(_UserName, _PassWord, _DomainName);<br>
}<br>
}<br>
public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)<br>
{</code><br>
<code><br>
// not use FormsCredentials unless you have implements a custom autentication.<br>
authCookie = null;<br>
user = password = authority = null;<br>
return false;<br>
}</code></p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->