ReportingService2005.CreateBatch Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um lote que executa vários métodos em uma única transação.
public:
System::String ^ CreateBatch();
public string CreateBatch ();
member this.CreateBatch : unit -> string
Public Function CreateBatch () As String
Retornos
Um valor String
que identifica exclusivamente uma operação em lote.
Exemplos
Para compilar esse exemplo de código, você deve referenciar o Reporting Services WSDL e importar determinados namespaces. Para obter mais informações, consulte Compilando e executando exemplos de código. O exemplo de código a seguir cria IDs de lote para dois novos lotes de chamadas de método de serviço Web e executa os lotes:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim bh1 As New BatchHeader()
Dim bh2 As New BatchHeader()
bh1.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh1
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
bh2.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh2
rs.DeleteItem("/New Folder1")
rs.DeleteItem("/New Folder2")
rs.DeleteItem("/New Folder3")
rs.BatchHeaderValue = bh1
' Create folders using a batch header 1.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders created successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
rs.BatchHeaderValue = bh2
' Delete folders using batch header 2.
Try
rs.ExecuteBatch()
Console.WriteLine("Folders deleted successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
Finally
rs.BatchHeaderValue = Nothing
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;
class Sample
{
public static void Main()
{
ReportingService2005 rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
BatchHeader bh1 = new BatchHeader();
BatchHeader bh2 = new BatchHeader();
bh1.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh1;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
bh2.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh2;
rs.DeleteItem("/New Folder1");
rs.DeleteItem("/New Folder2");
rs.DeleteItem("/New Folder3");
rs.BatchHeaderValue = bh1;
// Create folders using a batch header 1.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders created successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
rs.BatchHeaderValue = bh2;
// Delete folders using batch header 2.
try
{
rs.ExecuteBatch();
Console.WriteLine("Folders deleted successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
finally
{
rs.BatchHeaderValue = null;
}
}
}
Comentários
A tabela a seguir mostra o cabeçalho e as informações de permissão sobre esta operação.
Cabeçalhos SOAP | (Out) ServerInfoHeaderValue |
Permissões necessárias | O usuário deve ser um administrador de banco de dados ou aquele configurado como a conta de execução autônoma. Para obter mais informações, consulte Conta de execução (modo nativo do SSRS). |
A ID retornada pelo CreateBatch método é usada para agrupar ou lote chamadas de método de serviço Web subsequentes. Cada método incluído no lote deve ter a ID do lote especificada no cabeçalho SOAP. Para enviar em lote as chamadas de método usando o microsoft .NET Framework, primeiro você deve definir a BatchHeaderValue propriedade da classe proxy do serviço Web servidor de relatório para um valor igual ao de um BatchHeader objeto que contém uma ID de lote criada anteriormente.