ReportingService2005.CancelBatch Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Annule le lot initié par un appel à la méthode CreateBatch().
public:
void CancelBatch();
public void CancelBatch ();
member this.CancelBatch : unit -> unit
Public Sub CancelBatch ()
Exemples
Pour compiler cet exemple de code, vous devez référencer le langage WSDL (Web Service Description Language) Reporting Services et importer certains espaces de noms. Pour plus d’informations, consultez Compilation et exécution d’exemples de code. L’exemple de code suivant annule un lot, tente de l’exécuter et affiche les détails de l’erreur :
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 bh As New BatchHeader()
bh.BatchID = rs.CreateBatch()
rs.BatchHeaderValue = bh
rs.CreateFolder("New Folder1", "/", Nothing)
rs.CreateFolder("New Folder2", "/", Nothing)
rs.CreateFolder("New Folder3", "/", Nothing)
Console.WriteLine("Cancelling current batch operation.")
' Cancel the current batch.
Try
rs.CancelBatch()
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
Try
' Generates an error because the batch has already been cancelled.
rs.ExecuteBatch()
Console.WriteLine("The batch executed successfully.")
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
Console.WriteLine("The batch was not executed.")
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()
{
ReportingService rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
BatchHeader bh = new BatchHeader();
bh.BatchID = rs.CreateBatch();
rs.BatchHeaderValue = bh;
rs.CreateFolder("New Folder1", "/", null);
rs.CreateFolder("New Folder2", "/", null);
rs.CreateFolder("New Folder3", "/", null);
Console.WriteLine("Cancelling current batch operation.");
// Cancel the current batch.
try
{
rs.CancelBatch();
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
try
{
// Generates an error because the batch has already been cancelled.
rs.ExecuteBatch();
Console.WriteLine("The batch executed successfully.");
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
Console.WriteLine("The batch was not executed.");
}
finally
{
rs.BatchHeaderValue = null;
}
}
}
Remarques
Le tableau suivant présente les informations relatives aux en-têtes et aux autorisations sur cette opération.
En-têtes SOAP | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Autorisations requises | L’utilisateur doit être un administrateur de base de données ou celui configuré comme compte d’exécution sans assistance. Pour plus d’informations, consultez Compte d’exécution (mode natif SSRS). |
Vous devez spécifier l’ID du lot que vous souhaitez annuler avant d’appeler la CancelBatch méthode . Pour ce faire, définissez la BatchHeaderValue propriété du service Web Report Server sur une valeur égale à l’ID de lot qui a été généré lors de la création du lot.
Lorsque la CancelBatch méthode est appelée, tous les appels de méthode associés à l’ID de lot ne peuvent plus être exécutés. Toute tentative d’exécution d’un lot avec un ID de lot annulé entraîne une exception SOAP avec le code rsBatchNotFound
d’erreur .