public static async Task ExecuteAsync(NetworkCredential credentials, IReportServerConfig config, Func <IReportExecutionContext, Task> task, CancellationToken cancellationToken) { var client = SoapClientFactory.CreateReportExecutionClient(config); client.SetCredentials(credentials); await task(new ReportExecutionContext(client)).WithCancellation(cancellationToken); }
private static void InitBinding(IReportServerConfig config) { if (config.Binding != null) { return; } config.Binding = IsEndPointSecure(config) ? ClientUtils.NtlmSecureTransportBinding() : ClientUtils.NtlmTransportBinding(); }
public static Task ExecuteAsync( NetworkCredential credentials, IReportServerConfig config, Func <IReportServerExecutionContext, Task> task, CancellationToken cancellationToken) { var client = SoapClientFactory.CreateReportServiceClient(config); client.SetCredentials(credentials); using (new OperationContextScope(client.InnerChannel)) { if (client.GetCredentialType() == HttpClientCredentialType.Basic) { BasicAuthHelper.SetBasicAuthHeader(credentials); } var context = new ReportServerExecutionContext(client); return(task(context).WithCancellation(cancellationToken)); } }
public static ReportingService2010SoapClient CreateReportServiceClient(IReportServerConfig config) { InitBinding(config); return(new ReportingService2010SoapClient(config.Binding, new EndpointAddress(config.EndPointAddress)) { ClientCredentials = { ServiceCertificate = { SslCertificateAuthentication = new X509ServiceCertificateAuthentication { CertificateValidationMode = X509CertificateValidationMode .None, RevocationMode = X509RevocationMode .NoCheck } } } }); }
public static Task ExecuteAsync(NetworkCredential credentials, IReportServerConfig config, Func <IReportServerExecutionContext, Task> task) { return(ExecuteAsync(credentials, config, task, CancellationToken.None)); }
public static Task ExecuteAsync(IReportServerConfig config, Func <IReportServerExecutionContext, Task> task, CancellationToken cancellationToken) { return(ExecuteAsync(null, config, task, cancellationToken)); }
public static Task ExecuteAsync(IReportServerConfig config, Func <IReportServerExecutionContext, Task> task) { return(ExecuteAsync(config, task, CancellationToken.None)); }
private static bool IsEndPointSecure(IReportServerConfig config) { return(config.EndPointAddress.Scheme.StartsWith("https")); }
public static ReportExecutionServiceSoapClient CreateReportExecutionClient(IReportServerConfig config) { InitBinding(config); return(new ReportExecutionServiceSoapClient(config.Binding, new EndpointAddress(config.EndPointAddress))); }