共用方式為


CancelBatch 方法

取消由呼叫 CreateBatch 方法所起始的批次。

命名空間:  ReportService2005
組件:  ReportService2005 (在 ReportService2005.dll 中)

語法

'宣告
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelBatch", 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)> _
Public Sub CancelBatch
'用途
Dim instance As ReportingService2005

instance.CancelBatch()
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelBatch", 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)]
public void CancelBatch()
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelBatch", 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)]
public:
void CancelBatch()
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelBatch", 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)>]
member CancelBatch : unit -> unit 
public function CancelBatch()

備註

The table below shows header and permissions information on this operation.

SOAP Headers

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions

The user must be a database administrator or the one configured as the unattended execution account. For more information, see 執行帳戶 (Reporting Services 組態).

You must specify the ID of the batch that you want to cancel before calling the CancelBatch method. You can do this by setting the BatchHeaderValue property of the Report Server Web service to a value equal to the batch ID that was generated when the batch was created.

When the CancelBatch method is called, any method calls that are associated with the batch ID can no longer be executed. Any attempt to execute a batch with a cancelled batch ID results in a SOAP exception with the error code rsBatchNotFound.

範例

To compile this code example, you must reference the Reporting Services Web Service Description Language (WSDL) and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example cancels a batch, attempts to execute it, and displays error details:

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;
      }
   }
}