Bagikan melalui


ReportingService2005.CancelBatch Metode

Definisi

Membatalkan batch yang dimulai oleh panggilan ke CreateBatch() metode .

public:
 void CancelBatch();
public void CancelBatch ();
member this.CancelBatch : unit -> unit
Public Sub CancelBatch ()

Contoh

Untuk mengkompilasi contoh kode ini, Anda harus mereferensikan Reporting Services Web Service Description Language (WSDL) dan mengimpor namespace tertentu. Untuk informasi selengkapnya, lihat Mengkompilasi dan Menjalankan Contoh Kode. Contoh kode berikut membatalkan batch, mencoba menjalankannya, dan menampilkan detail kesalahan:

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

Keterangan

Tabel di bawah ini memperlihatkan informasi header dan izin pada operasi ini.

Header SOAP (Dalam) BatchHeaderValue

(Keluar) ServerInfoHeaderValue
Memerlukan izin Pengguna harus menjadi administrator database atau yang dikonfigurasi sebagai akun eksekusi yang tidak dijaga. Untuk informasi selengkapnya, lihat Akun Eksekusi (Mode Asli SSRS).

Anda harus menentukan ID batch yang ingin Anda batalkan sebelum memanggil CancelBatch metode . Anda dapat melakukan ini dengan mengatur BatchHeaderValue properti layanan Web Server Laporan ke nilai yang sama dengan ID batch yang dihasilkan saat batch dibuat.

Ketika metode dipanggil CancelBatch , setiap panggilan metode yang terkait dengan ID batch tidak dapat lagi dijalankan. Setiap upaya untuk menjalankan batch dengan ID batch yang dibatalkan menghasilkan pengecualian SOAP dengan kode rsBatchNotFoundkesalahan .

Berlaku untuk

Lihat juga