ReportingService2005.CancelJob(String) ReportingService2005.CancelJob(String) ReportingService2005.CancelJob(String) Method

정의

작업 실행을 취소합니다. Cancels the execution of a job.

public:
 bool CancelJob(System::String ^ JobID);
public bool CancelJob (string JobID);
Public Function CancelJob (JobID As String) As Boolean
매개 변수
JobID
String String String

취소하려는 작업의 ID입니다. The ID of the job that you want to cancel. JobID 개체의 Job 속성에서 작업 ID를 가져올 수 있습니다. You can obtain the job ID from the JobID property in a Job object.

반환

A Boolean 값입니다. A Boolean value. 작업이 성공적으로 취소되면 true 값이 반환됩니다. A value of true is returned if the job was successfully cancelled.

예제

이 코드 예제를 컴파일하려면 Reporting Services WSDL 참조 하 고 특정 네임 스페이스를 가져올 해야 합니다.To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. 자세한 내용은 참조 컴파일 및 코드 예제를 실행합니다.For more information, see Compiling and Running Code Examples. 다음 코드 예제는 사용자가 지정된 된 보고서 서버에서 실행 중인 모든 작업을 취소할 수 있도록 콘솔 응용 프로그램:The following code example is a console application that enables users to cancel all running jobs on a given report server:

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 jobs As Job() = Nothing  

      ' Return a list of current jobs.  
      Try  
         jobs = rs.ListJobs()  

         ' Provides a prompt to cancel current jobs.  
         If ListRunningJobs(jobs) Then  
            Console.Write("Do you want to cancel these jobs (Y/N)?")  
            Dim input As Integer = Console.Read()  
            If [Char].ToLower(CChar(input)) = "y"c Then  
               CancelRunningJobs(jobs, rs)  
            End If  
         End If  
      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  
      End Try  
   End Sub 'Main  

   ' Method to send a list of current jobs and their properties  
   ' to standard output.  
   Public Shared Function ListRunningJobs(jobs() As Job) As Boolean  
      Dim runningJobCount As Integer = 0  
      Console.WriteLine("Current Jobs")  
      Console.WriteLine(("================================" + Environment.NewLine))  
      Dim job As Job  
      For Each job In  jobs  
         If job.Status = JobStatusEnum.Running Or job.Status = JobStatusEnum.New Then  
            Console.WriteLine("--------------------------------")  
            Console.WriteLine("JobID: {0}", job.JobID)  
            Console.WriteLine("--------------------------------")  
            Console.WriteLine("Action: {0}", job.Action)  
            Console.WriteLine("Description: {0}", job.Description)  
            Console.WriteLine("Machine: {0}", job.Machine)  
            Console.WriteLine("Name: {0}", job.Name)  
            Console.WriteLine("Path: {0}", job.Path)  
            Console.WriteLine("StartDateTime: {0}", job.StartDateTime)  
            Console.WriteLine("Status: {0}", job.Status)  
            Console.WriteLine("Type: {0}", job.Type)  
            Console.WriteLine("User: {0}" + Environment.NewLine, job.User)  
            runningJobCount += 1  
         End If  
      Next job  
      Console.Write("There are {0} running jobs. ", runningJobCount)  
      If runningJobCount > 0 Then  
         Return True  
      Else  
         Return False  
      End If  
   End Function 'ListRunningJobs  

   Public Shared Sub CancelRunningJobs(jobs() As Job, rs As ReportingService)  
      Try  
         Dim job As Job  
         For Each job In  jobs  
            If job.Status = JobStatusEnum.Running Or job.Status = JobStatusEnum.New Then  
               rs.CancelJob(job.JobID)  
            End If  
         Next job  
         Console.WriteLine("All jobs successfully canceled.")  
      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  
      End Try  
   End Sub 'CancelRunningJobs  
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;  

      Job[] jobs = null;  

      // Return a list of current jobs.  
      try  
      {  
         jobs = rs.ListJobs();  

         // Provides a prompt to cancel current jobs.  
         if (ListRunningJobs(jobs))  
         {  
            Console.Write("Do you want to cancel these jobs (Y/N)?");  
            int input = Console.Read();  
            if (Char.ToLower((char)input)== 'y')   
            {  
               CancelRunningJobs(jobs, rs);  
            }  
         }  
      }  
      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.InnerXml.ToString());  
      }  
   }  

   // Method to send a list of current jobs and their properties  
   // to standard output.  
   public static bool ListRunningJobs(Job[] jobs)  
   {     
      int runningJobCount = 0;  
      Console.WriteLine("Current Jobs");  
      Console.WriteLine("================================" + Environment.NewLine);  
      foreach (Job job in jobs)  
      {  
         if (job.Status == JobStatusEnum.Running ||   
               job.Status == JobStatusEnum.New)  
         {     
            Console.WriteLine("--------------------------------");  
            Console.WriteLine("JobID: {0}", job.JobID);  
            Console.WriteLine("--------------------------------");  
            Console.WriteLine("Action: {0}", job.Action);  
            Console.WriteLine("Description: {0}", job.Description);  
            Console.WriteLine("Machine: {0}", job.Machine);  
            Console.WriteLine("Name: {0}", job.Name);  
            Console.WriteLine("Path: {0}", job.Path);  
            Console.WriteLine("StartDateTime: {0}", job.StartDateTime);  
            Console.WriteLine("Status: {0}", job.Status);  
            Console.WriteLine("Type: {0}", job.Type);  
            Console.WriteLine("User: {0}" + Environment.NewLine, job.User);  
            runningJobCount++;  
         }  
      }  
      Console.Write("There are {0} running jobs. ", runningJobCount);  
      if (runningJobCount > 0)  
         return true;  
      else  
         return false;  
   }  

   public static void CancelRunningJobs(Job[] jobs, ReportingService rs)  
   {     
      try  
      {  
         foreach (Job job in jobs)  
         {  
            if (job.Status == JobStatusEnum.Running ||   
               job.Status == JobStatusEnum.New)  
            {     
               rs.CancelJob(job.JobID);  
            }  
         }  
         Console.WriteLine("All jobs successfully canceled.");  
      }  
      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.InnerXml.ToString());  
      }  
   }  
}  

설명

다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.The table below shows header and permissions information on this operation.

SOAP 헤더SOAP Headers (Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
필요한 권한Required Permissions CancelJobs

작업 ID에 전달 하는 경우 오류가 반환 되는 JobID 매개 변수를 찾을 수 없습니다.An error is returned if the job ID passed in the JobID parameter is not found. 이미 취소 된 작업의 ID를 사용 하 여이 메서드를 호출 하는 경우 보고서 서버 작업을 무시 합니다.If you call this method using the ID of a job that has already been cancelled, the report server ignores the operation.

사용 하 여는 ListJobs 메서드 현재 보고서 서버에서 실행 중인 작업의 목록을 가져올 수 있습니다.Use the ListJobs method to obtain a list of jobs that are current running on the report server.

적용 대상