ReportExecutionService.Render(String, String, String, String, String, Warning[], String[]) ReportExecutionService.Render(String, String, String, String, String, Warning[], String[]) ReportExecutionService.Render(String, String, String, String, String, Warning[], String[]) Method


특정 보고서를 처리하고 지정된 형식으로 렌더링합니다. Processes a specific report and renders it in the specified format.

 cli::array <System::Byte> ^ Render(System::String ^ Format, System::String ^ DeviceInfo, [Runtime::InteropServices::Out] System::String ^ % Extension, [Runtime::InteropServices::Out] System::String ^ % MimeType, [Runtime::InteropServices::Out] System::String ^ % Encoding, [Runtime::InteropServices::Out] cli::array <ReportExecution2005::Warning ^> ^ % Warnings, [Runtime::InteropServices::Out] cli::array <System::String ^> ^ % StreamIds);
public byte[] Render (string Format, string DeviceInfo, out string Extension, out string MimeType, out string Encoding, out ReportExecution2005.Warning[] Warnings, out string[] StreamIds);
Public Function Render (Format As String, DeviceInfo As String, ByRef Extension As String, ByRef MimeType As String, ByRef Encoding As String, ByRef Warnings As Warning(), ByRef StreamIds As String()) As Byte()
매개 변수
String String String

보고서를 렌더링할 형식입니다. The format in which to render the report. 이 인수는 렌더링 확장 프로그램에 매핑됩니다. This argument maps to a rendering extension. 지원되는 확장 프로그램에는 XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL 및 Word가 있습니다. Supported extensions include XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL, and Word. 호출 하 여 지원 되는 확장 목록을 가져올 수는 ListRenderingExtensions() 메서드. A list of supported extensions may be obtained by calling the ListRenderingExtensions() method.

String String String

에 지정 된 렌더링 확장 프로그램에 필요한 장치 관련 내용을 포함 하는 XML 문자열의 형식 매개 변수입니다. An XML string that contains the device-specific content that is required by the rendering extension specified in the Format parameter. DeviceInfo 설정은 DeviceInfo XML 요소의 내부 요소로 전달되어야 합니다. DeviceInfo settings must be passed as internal elements of a DeviceInfo XML element. 특정 출력 형식의 장치 정보 설정에 대 한 자세한 내용은 [전달 하도록 장치 정보 설정을 렌더링 확장 프로그램]을 참조 하십시오. (합니다. For more information about device information settings for specific output formats, see Passing Device Information Settings to Rendering Extensions.

String String String

[out] 출력 스트림에 해당하는 파일 확장명입니다. [out] The file extension corresponding to the output stream.

String String String

[out] 렌더링된 보고서의 MIME 형식입니다. [out] The MIME type of the rendered report.

String String String

[out] 보고서 서버가 보고서 내용을 렌더링할 때 사용되는 인코딩입니다. [out] The encoding used when report server renders the contents of the report.


[out] 보고서를 처리하는 동안 발생한 경고를 설명하는 Warning 개체의 배열입니다. [out] An array of Warning objects that describes any warnings that occurred during report processing.


[out] 스트림 식별자입니다. [out] The stream identifiers. 이러한 ID는 RenderStream(String, String, String, String, String) 메서드에 전달됩니다. These IDs are passed to the RenderStream(String, String, String, String, String) method. 이러한 ID를 사용하여 지정된 보고서와 연결된 외부 리소스(예: 이미지)를 렌더링할 수 있습니다. You can use them to render the external resources (images, etc.) that are associated with a given report. 이미지 렌더링 확장 프로그램을 사용 하는 경우 메서드 출력에 빈 배열 StreamIds합니다. If the IMAGE rendering extension is used, the method outputs an empty array in StreamIds.


A * * Byte * * 지정 된 형식의 보고서의 배열입니다. A Byte[] array of the report in the specified format.


다음 코드 예제를 컴파일하려면 참조 해야 합니다는 Reporting Services WSDL 네임 스페이스를 가져옵니다.To compile the following code example, you must reference the Reporting Services WSDL and import certain namespaces. 자세한 내용은 참조 컴파일 및 코드 예제를 실행합니다.For more information, see Compiling and Running Code Examples. 다음 코드 예제에서는 보고서를 MHTML로 렌더링 디스크로.mht 파일로 저장 합니다.The following code example renders a report in MHTML and saves it as an .mht file to disk.

Imports System  
Imports System.IO  
Imports System.Web.Services.Protocols  
Imports myNamespace.MyReferenceName  

Class Sample  
    Public Shared Sub Main()  
        Dim rs As New ReportExecutionService()  
        rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
        rs.Url = "http://myserver/reportserver/ReportExecution2005.asmx"  

        ' Render arguments  
        Dim result As Byte() = Nothing  
        Dim reportPath As String = "/AdventureWorks Sample Reports/Employee Sales Summary "  
        Dim format As String = "MHTML"  
        Dim historyID As String = Nothing  
        Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"  

        ' Prepare report parameter.  
        Dim parameters(2) As ParameterValue  

        parameters(0) = New ParameterValue()  
        parameters(0).Name = "EmpID"  
        parameters(0).Value = "288"  
        parameters(1) = New ParameterValue()  
        parameters(1).Name = "ReportMonth"  
        parameters(1).Value = "6" ' June  
        parameters(2) = New ParameterValue()  
        parameters(2).Name = "ReportYear"  
        parameters(2).Value = "2004"  

        Dim credentials As DataSourceCredentials() = Nothing  
        Dim showHideToggle As String = Nothing  
        Dim encoding As String = ""  
        Dim mimeType As String = ""  
        Dim warnings As Warning() = Nothing  
        Dim reportHistoryParameters As ParameterValue() = Nothing  
        Dim streamIDs As String() = Nothing  

        Dim execInfo As New ExecutionInfo  
        Dim execHeader As New ExecutionHeader()  
        Dim SessionId As String  
        Dim extension As String = ""  

        rs.ExecutionHeaderValue = execHeader  

        execInfo = rs.LoadReport(reportPath, historyID)  

        rs.SetExecutionParameters(parameters, "en-us")  

        SessionId = rs.ExecutionHeaderValue.ExecutionID  
        Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)  

            result = rs.Render(format, devInfo, extension, _  
               encoding, mimeType, warnings, streamIDs)  

            execInfo = rs.GetExecutionInfo()  

            Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)  

        Catch e As SoapException  
        End Try  

        ' Write the contents of the report to an MHTML file.  
            Dim stream As FileStream = File.Create("report.mht", result.Length)  
            Console.WriteLine("File created.")  
            stream.Write(result, 0, result.Length)  
            Console.WriteLine("Result written to the file.")  
        Catch e As Exception  
        End Try  
    End Sub 'Main  
End Class  
using System;  
using System.IO;  
using System.Web.Services.Protocols;  
using myNamespace.MyReferenceName;  

class Sample  
    static void Main(string[] args)  
        ReportExecutionService rs = new ReportExecutionService();  
        rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
        rs.Url = "http://myserver/reportserver/ReportExecution2005.asmx";  

        // Render arguments  
        byte[] result = null;  
        string reportPath = "/AdventureWorks Sample Reports/Employee Sales Summary";  
        string format = "MHTML";  
        string historyID = null;  
        string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";  

        // Prepare report parameter.  
        ParameterValue[] parameters = new ParameterValue[3];  
        parameters[0] = new ParameterValue();  
        parameters[0].Name = "EmpID";  
        parameters[0].Value = "288";  
        parameters[1] = new ParameterValue();  
        parameters[1].Name = "ReportMonth";  
        parameters[1].Value = "6"; // June  
        parameters[2] = new ParameterValue();  
        parameters[2].Name = "ReportYear";  
        parameters[2].Value = "2004";  

        DataSourceCredentials[] credentials = null;  
        string showHideToggle = null;  
        string encoding;  
        string mimeType;  
        string extension;  
        Warning[] warnings = null;  
        ParameterValue[] reportHistoryParameters = null;  
        string[] streamIDs = null;  

        ExecutionInfo execInfo = new ExecutionInfo();  
        ExecutionHeader execHeader = new ExecutionHeader();  

        rs.ExecutionHeaderValue = execHeader;  

        execInfo = rs.LoadReport(reportPath, historyID);  

        rs.SetExecutionParameters(parameters, "en-us");   
        String SessionId = rs.ExecutionHeaderValue.ExecutionID;  

        Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID);  

            result = rs.Render(format, devInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs);  

            execInfo = rs.GetExecutionInfo();  

            Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime);  

        catch (SoapException e)  
        // Write the contents of the report to an MHTML file.  
            FileStream stream = File.Create("report.mht", result.Length);  
            Console.WriteLine("File created.");  
            stream.Write(result, 0, result.Length);  
            Console.WriteLine("Result written to the file.");  
        catch (Exception e)  



다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.The table below shows header and permissions information on this operation.

SOAP 헤더 사용SOAP Header Usage (In) TrustedUserHeaderValue(In) TrustedUserHeaderValue

(In) ExecutionHeaderValue(In) ExecutionHeaderValue

(Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
기본 모드에 필요한 권한Native Mode Required Permissions 주 보고서와 모든 하위 보고서에: ReadProperties AND ExecuteAndViewOn the main report and all subreports: ReadProperties AND ExecuteAndView
SharePoint 모드에 필요한 권한SharePoint Mode Required Permissions 주 보고서 및 모든 하위 보고서의 경우: ViewListItemsOn the main report and all subreports: ViewListItems

Render 처리 된 보고서에서 식별 된 보고서 실행과 연결 된 렌더링은 ExecutionInfo 헤더입니다.Render renders a processed report associated with the report execution identified in the ExecutionInfo header. 실행 상태에서 처리 된 보고서에 대 한 임시 스냅숏이 없으면이 없으면이 메서드 (모든 자격 증명 및 매개 변수 요구 사항이 충족) 하는 경우, 보고서 실행 상태 위해 만들어지는 임시 스냅숏에 실행 됩니다.If no temporary snapshot exists for the processed report in the execution state, this method will execute the report (if all credential and parameter requirements are met), resulting in a temporary snapshot being created for the execution state. 보고서는 쿼리가 아닌 매개 변수 값 변경 되었기 때문에 다시 처리 하는 경우 새 임시 스냅숏 생성 됩니다.If the report is reprocessed because non-query parameter values have changed, a new temporary snapshot is created. 실행 상태에 대 한 자세한 내용은 참조 하십시오. Identifying Execution State합니다.For more information on execution state, see Identifying Execution State.

실행 옵션 캐시 또는 실행 스냅숏의 경우에 대 한 호출 하도록 설정 된 경우 Render 기존 스냅숏을 사용할 수 있습니다.If the execution options are set to cache or execution snapshot, the call to Render may use an existing snapshot.

보고서 캐시와 제공 된 매개 변수 값으로 설정 된 경우 자격 증명 일치 스냅숏의 캐시 된 복사본을 실제로 보고서를 처리 하는 대신 로드 수 있습니다.If the report is set to cache and the supplied parameter values and credentials match, the cached copy of the snapshot may be loaded instead of actually processing the report.

자격 증명 및 매개 변수 요구 사항을 충족 되지 않는 경우이 메서드는 오류가 반환 됩니다.If credential and parameter requirements are not met, this method will return an error.

에 대 한 후속 호출 Render 렌더링 확장 프로그램에서는 여러 페이지를 지정할 경우 보고서의 추가 페이지를 가져오는 데 사용할 수 있습니다.Subsequent calls to Render can be used to fetch additional pages of the report if the rendering extension supports specifying multiple pages.

Render 메서드 제한은 하므로 전체 파일에 메모리에 있어야 합니다. 출력을 스트리밍할 수 없으면입니다.A limitation of the Render method is that the output cannot be streamed, so the entire file must be in-memory.

참조 하십시오 Identifying Execution State 로드 하 여 보고서를 렌더링 하는 데 필요한 단계에 대 한 설명을 포함 하는 실행 주기의 논의 합니다.Please see Identifying Execution State for a discussion of the execution life cycle, which includes a description of the steps necessary to load and render a report.

적용 대상