Mercurial > silverbladetech
comparison SSRS/SSRS.Services/ReportExecution.cs @ 112:b9d5f934cb21
Initial upload
author | adminsh@apollo |
---|---|
date | Sat, 19 May 2012 16:09:07 +0100 |
parents | |
children | e51a6af1c98d |
comparison
equal
deleted
inserted
replaced
111:6cb8cd05ad6b | 112:b9d5f934cb21 |
---|---|
1 using System; | |
2 using System.Security.Principal; | |
3 using SSRS.Services.DTOs; | |
4 using SSRS.Services.ReportExecutionServiceReference; | |
5 using ServiceStack.ServiceHost; | |
6 | |
7 namespace SSRS.Services | |
8 { | |
9 public class ReportExecutionService : IService<ReportExecutionRequest> | |
10 { | |
11 public object Execute(ReportExecutionRequest request) | |
12 { | |
13 string encoding = String.Empty, mimeType = String.Empty, extension = String.Empty; | |
14 Warning[] warnings = null; | |
15 string[] streamIDs = null; | |
16 ServerInfoHeader serverInfoHeader; | |
17 ExecutionInfo executionInfo1, executionInfo2; | |
18 | |
19 var reportExecutionClient = new ReportExecutionServiceSoapClient(); | |
20 reportExecutionClient.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.None; | |
21 | |
22 var executionHeader = reportExecutionClient.LoadReport(null, request.Name, null, out serverInfoHeader, out executionInfo1); | |
23 | |
24 reportExecutionClient.SetExecutionParameters(executionHeader, null, Converter.Convert(request.Parameters), "en-us", out executionInfo2); | |
25 byte[] result; | |
26 reportExecutionClient.Render(executionHeader, null, request.Format, null, out result, | |
27 out extension, out encoding, out mimeType, out warnings, out streamIDs); | |
28 | |
29 return new ReportExecutionResponse { Result = result }; | |
30 } | |
31 } | |
32 } |