/// <summary>
        /// step 4
        /// </summary>
        /// <param name="result"></param>
        protected void GetPageNumber(ReportRequest rRequest, ref ReportExecuteResult result)
        {
            try
            {
                Versions.TryGetValue(this.ReportSettings.ReportServer, out Version version);
                if (version.Major <= SuportExportVersion)
                {
                    var request = new GetExecutionInfo2Request();

                    var response = ReportClient.GetExecutionInfo2Async(request).GetAwaiter().GetResult();
                    result.PageCount = response.executionInfo.NumPages;
                    result.PageIndex = rRequest.PageIndex;
                    result.SessionId
                            = rRequest.SessionId
                            = ReportClient.ExecutionHeader.ExecutionID
                            = response.executionInfo.ExecutionID;
                }
                else
                {
                    var request = new GetExecutionInfo3Request();

                    var response = ReportClient.GetExecutionInfo3Async(request).GetAwaiter().GetResult();
                    result.PageCount = response.executionInfo.NumPages;
                    result.PageIndex = rRequest.PageIndex;
                    result.SessionId
                            = rRequest.SessionId
                            = ReportClient.ExecutionHeader.ExecutionID
                            = response.executionInfo.ExecutionID;
                }
            }
            catch (Exception ex)
            {
                throw new ReportException("GetPageNumber error: " + ex.Message, ex);
            }
        }
Example #2
0
 public System.Threading.Tasks.Task <GetExecutionInfo3Response> GetExecutionInfo3Async(GetExecutionInfo3Request request)
 {
     System.Threading.Tasks.Task <GetExecutionInfo3Response> task = base.Channel.GetExecutionInfo3Async(request);
     this.ServerInfoHeader = task.Result.ServerInfoHeader;
     return(task);
 }