ReportingService2005.CancelBatch Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bricht den Batch ab, der von einem Aufruf der CreateBatch()-Methode gestartet wurde.
public:
void CancelBatch();
public void CancelBatch ();
member this.CancelBatch : unit -> unit
Public Sub CancelBatch ()
Beispiele
Um dieses Codebeispiel zu kompilieren, müssen Sie auf die Reporting Services Web Service Description Language (WSDL) verweisen und bestimmte Namespaces importieren. Weitere Informationen finden Sie unter Kompilieren und Ausführen von Codebeispielen. Das folgende Codebeispiel bricht einen Batch ab, versucht, ihn auszuführen, und zeigt Fehlerdetails an:
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;
}
}
}
Hinweise
In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.
SOAP-Header | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Erforderliche Berechtigungen | Der Benutzer muss ein Datenbankadministrator oder der Benutzer sein, der als unbeaufsichtigtes Ausführungskonto konfiguriert ist. Weitere Informationen finden Sie unter Ausführungskonto (einheitlicher SSRS-Modus). |
Sie müssen die ID des Batches angeben, den Sie abbrechen möchten, bevor Sie die CancelBatch Methode aufrufen. Hierzu können Sie die BatchHeaderValue Eigenschaft des Berichtsserver-Webdiensts auf einen Wert festlegen, der der Batch-ID entspricht, die beim Erstellen des Batches generiert wurde.
Wenn die CancelBatch Methode aufgerufen wird, können alle Methodenaufrufe, die der Batch-ID zugeordnet sind, nicht mehr ausgeführt werden. Jeder Versuch, einen Batch mit einer abgebrochenen Batch-ID auszuführen, führt zu einer SOAP-Ausnahme mit dem Fehlercode rsBatchNotFound
.