Metoda ReportExecutionService.Render
Przetwarza określonego raportu i czyni to w określonym formacie.
Przestrzeń nazw: ReportExecution2005
Zestaw: ReportExecution2005 (w ReportExecution2005.dll)
Składnia
'Deklaracja
<SoapHeaderAttribute("ExecutionHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function Render ( _
Format As String, _
DeviceInfo As String, _
<OutAttribute> ByRef Extension As String, _
<OutAttribute> ByRef MimeType As String, _
<OutAttribute> ByRef Encoding As String, _
<OutAttribute> ByRef Warnings As Warning(), _
<OutAttribute> ByRef StreamIds As String() _
) As Byte()
'Użycie
Dim instance As ReportExecutionService
Dim Format As String
Dim DeviceInfo As String
Dim Extension As String
Dim MimeType As String
Dim Encoding As String
Dim Warnings As Warning()
Dim StreamIds As String()
Dim returnValue As Byte()
returnValue = instance.Render(Format, _
DeviceInfo, Extension, MimeType, _
Encoding, Warnings, StreamIds)
[SoapHeaderAttribute("ExecutionHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public byte[] Render(
string Format,
string DeviceInfo,
out string Extension,
out string MimeType,
out string Encoding,
out Warning[] Warnings,
out string[] StreamIds
)
[SoapHeaderAttribute(L"ExecutionHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<unsigned char>^ Render(
String^ Format,
String^ DeviceInfo,
[OutAttribute] String^% Extension,
[OutAttribute] String^% MimeType,
[OutAttribute] String^% Encoding,
[OutAttribute] array<Warning^>^% Warnings,
[OutAttribute] array<String^>^% StreamIds
)
[<SoapHeaderAttribute("ExecutionHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member Render :
Format:string *
DeviceInfo:string *
Extension:string byref *
MimeType:string byref *
Encoding:string byref *
Warnings:Warning[] byref *
StreamIds:string[] byref -> byte[]
public function Render(
Format : String,
DeviceInfo : String,
Extension : String,
MimeType : String,
Encoding : String,
Warnings : Warning[],
StreamIds : String[]
) : byte[]
Parametry
- Format
Typ: System.String
Format raportu renderowania.Argument ten jest mapowany na rozszerzenie renderowania.Obsługiwane rozszerzenia obejmują XML, NULL, CSV, obraz, PDF, HTML4.0, HTML3.2, MHTML, EXCEL i Word.Listy obsługiwanych rozszerzeń można otrzymać poprzez wywołanie ListRenderingExtensions metoda.
- DeviceInfo
Typ: System.String
Ciąg XML zawierający zawartość specyficzne dla urządzenia wymagane przez rozszerzenie renderowania, określone w Format parametru.Ustawienia DeviceInfo musi być przekazany jako wewnętrznych elementów element DeviceInfo XML.Aby uzyskać więcej informacji na temat urządzenia ustawienia informacji dla formatów wyjściowych określonych Zobacz ustawienia informacji urządzenia fe718939-7efe-4c7f-87cb-5f5b09caeff4.
- Extension
Typ: System.String%
[Brak] Rozszerzenie pliku odpowiadające strumień wyjściowy.
- MimeType
Typ: System.String%
[Brak] Typ MIME renderowany raport.
- Encoding
Typ: System.String%
[Brak] Kodowanie używane, gdy serwer raportów renderowania zawartości raportu.
- Warnings
Typ: array<ReportExecution2005.Warning[]%
[Brak] Tablica Warning obiektów, które opisano wszystkie ostrzeżenia, które wystąpiły podczas przetwarzania raportu.
- StreamIds
Typ: array<System.String[]%
[Brak] Identyfikatory strumienia.Identyfikatory te są przekazywane do RenderStream metoda.Można ich używać do renderowania zasobów zewnętrznych (obrazy, itp.), które są skojarzone z danego raportu.
Jeśli obraz rozszerzenie renderowania jest używana, metoda wyprowadza pustą tablicę w StreamIds.
Wartość zwracana
Typ: array<System.Byte[]
A Byte [ tablicy raport w określonym formacie.
Uwagi
W poniższej tabela przedstawiono informacje nagłówka i uprawnienia na tej operacji.
Użycie nagłówek protokołu SOAP |
(Ruch wychodzący)ServerInfoHeaderValue |
Tryb macierzysty wymagane uprawnienia |
Raport główny i wszystkie podraporty: ReadProperties ORAZ ExecuteAndView |
Tryb programu SharePoint wymagane uprawnienia |
Raport główny i wszystkie podraporty: ViewListItems() |
Renderrenderuje przetworzonych raporcie skojarzonym z wykonanie sprawozdanie, określone w ExecutionInfo nagłówka.Jeśli nie tymczasowe migawka raportu przetworzonych w trakcie wykonywania, Metoda ta będzie wykonywał raportu (jeśli są spełnione wszystkie wymagania poświadczeń i parametrów), wynikające migawka tymczasowy tworzony dla stanu wykonać.Jeśli raport jest ponownie przetwarzany, ponieważ wartości parametrów kwerendy nie zostały zmienione, jest tworzona nowa migawka tymczasowe.Więcej informacji na temat stanu wykonania, zobacz Identyfikowanie stan wykonywania.
Jeśli opcje wykonanie są zestaw do pamięci podręcznej lub wykonanie migawka, wywołanie Render mogą używać istniejących migawka.
Jeśli raport jest zestaw do pamięci podręcznej i podanej wartości parametru, a poświadczenia zgodności, buforowaną kopię migawka mogą być ładowane zamiast faktycznie przetwarzania raportu.
Jeśli nie są spełnione wymagania poświadczeń i parametr, ta metoda zwróci błąd.
Kolejne wywołania Render można pobrać dodatkowe strony raportu, jeśli rozszerzenie renderowania obsługuje Określanie wielu stron.
Ograniczenia metoda renderowania jest, że dane wyjściowe nie strumieniowo, więc całego pliku w pamięci.
Zobacz Identyfikowanie stan wykonywania dla dyskusji wykonanie cyklu życia, które zawiera opis kroków niezbędnych do ładowania i renderowania raportu.
Przykłady
Aby skompilować poniższy przykład kodu, należy odwołać Reporting Services WSDL oraz przywozu niektórych obszarów nazw.Aby uzyskać więcej informacji, zobacz temat Compiling and Running Code Examples.Poniższy przykład kodu renderuje raportu w MHTML i zapisze go jako plik .mht na dysku.
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)
Try
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
Console.WriteLine(e.Detail.OuterXml)
End Try
' Write the contents of the report to an MHTML file.
Try
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.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
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);
try
{
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)
{
Console.WriteLine(e.Detail.OuterXml);
}
// Write the contents of the report to an MHTML file.
try
{
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.");
stream.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}