Mercurial > silverbladetech
view SSRS/SSRS.Services/ReportExecution.cs @ 112:b9d5f934cb21
Initial upload
author | adminsh@apollo |
---|---|
date | Sat, 19 May 2012 16:09:07 +0100 |
parents | |
children | e51a6af1c98d |
line wrap: on
line source
using System; using System.Security.Principal; using SSRS.Services.DTOs; using SSRS.Services.ReportExecutionServiceReference; using ServiceStack.ServiceHost; namespace SSRS.Services { public class ReportExecutionService : IService<ReportExecutionRequest> { public object Execute(ReportExecutionRequest request) { string encoding = String.Empty, mimeType = String.Empty, extension = String.Empty; Warning[] warnings = null; string[] streamIDs = null; ServerInfoHeader serverInfoHeader; ExecutionInfo executionInfo1, executionInfo2; var reportExecutionClient = new ReportExecutionServiceSoapClient(); reportExecutionClient.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.None; var executionHeader = reportExecutionClient.LoadReport(null, request.Name, null, out serverInfoHeader, out executionInfo1); reportExecutionClient.SetExecutionParameters(executionHeader, null, Converter.Convert(request.Parameters), "en-us", out executionInfo2); byte[] result; reportExecutionClient.Render(executionHeader, null, request.Format, null, out result, out extension, out encoding, out mimeType, out warnings, out streamIDs); return new ReportExecutionResponse { Result = result }; } } }