SQL Server Reporting Services 및 .Net Core
La URL a consumir cuenta con un formato similar al siguiente, donde es la instancia de tu servidor de SSRS.
https:///ReportServer/ReportExecution2005.asmx?wsdl
Visual Studio는 웹 서비스가 존재하지 않는 기본 코드를 수입할 수 있도록 허용하고 Visual Studio에서 Net Core를 프로젝트에 적용할 수 있도록 현실화합니다.
코드 조각은 네트워크 코어에 적용되는 웹 서비스를 활용하기 위해 필요한 코드 조각입니다.
private ReportExecutionServiceSoapClient GetProxy()
{
var proxy = new ReportExecutionServiceSoapClient(GetBinding(), GetEndpointAddress());
proxy.ClientCredentials.Windows.ClientCredential = new NetworkCredential(config.ReportUserName, config.ReportPassword, config.ReportUserNameDominio);
return proxy;
}
private HttpBindingBase GetBinding(bool isHttps)
{
HttpBindingBase result = null;
if (isHttps)
{
result = new BasicHttpsBinding()
{
Security = {
Mode = BasicHttpsSecurityMode.Transport
}
};
}
else
{
result = new BasicHttpBinding()
{
Security = {
Mode = BasicHttpSecurityMode.TransportCredentialOnly,
Transport = {
ClientCredentialType = HttpClientCredentialType.Ntlm,
ProxyCredentialType = HttpProxyCredentialType.None
}
}
};
}
result.MaxReceivedMessageSize = int.MaxValue;
result.MaxBufferSize = int.MaxValue;
return result;
}
public async Task<object> ExportReport(string reportPath, string reportName, Dictionary<string, string> parameters)
{
try
{
var proxy = GetProxy();
var rsParameters = parameters.Select(it => new ParameterValue() { Name = it.Key, Value = it.Value }).ToArray();
var trustedUserHeader = new TrustedUserHeader();
var loadResponse = await proxy.LoadReportAsync(trustedUserHeader, $"{reportPath}{reportName}", null);
var executionHeader = new ExecutionHeader()
{
ExecutionID = loadResponse.executionInfo.ExecutionID
};
await proxy.SetExecutionParametersAsync(executionHeader, trustedUserHeader, rsParameters, "");
var request = new RenderRequest(executionHeader,
trustedUserHeader,
exportType.ToString(),
new XElement("DeviceInfo", new XElement("OutputFormat", "PDF")).ToString()
);
var response = await proxy.RenderAsync(request);
await proxy.CloseAsync();
return new
{
Bytes = response.Result,
Encoding = response.Encoding,
FileNameExtension = response.Extension,
MimeType = response.MimeType,
Streams = response.StreamIds,
Warnings = response.Warnings?.Select(it => it.Message).ToArray()
};
}
catch (Exception ex)
{
string message = ex.GetBaseException().Message;
throw ex;
}
}
SSRS에서 PDF로 보고서를 내보내는 "ExportReport"기능을 사용할 수 있습니다.
var report = await ExportReport("intancia/misReportes",
"Empleados",
new Dictionary<string, string>() { {"Departamento", "IT"} }
);
Para mas información honoro a este tema, se pueden Consultar los siguientes enlaces:
Report Server Web Service Endpoints - SQL Server Reporting Services (SSRS)
Reference
이 문제에 관하여(SQL Server Reporting Services 및 .Net Core), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iuliocesars/sql-server-reporting-services-en-net-core-2iok텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)