共用方式為


ReportingService2005.CancelJob Method

Cancels the execution of a job.

命名空間: Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005
組件: ReportService2005 (in reportingservice2005.dll)

語法

'宣告
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelJob", 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)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction:=SoapHeaderDirection.Out)> _
Public Function CancelJob ( _
    JobID As String _
) As Boolean
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelJob", 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)] 
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out)] 
public bool CancelJob (
    string JobID
)
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelJob", 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)] 
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction=SoapHeaderDirection::Out)] 
public:
bool CancelJob (
    String^ JobID
)
/** @attribute SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelJob", 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) */ 
/** @attribute SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out) */ 
public boolean CancelJob (
    String JobID
)
SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CancelJob", 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) 
SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out) 
public function CancelJob (
    JobID : String
) : boolean

參數

  • JobID
    The ID of the job that you want to cancel.

傳回值

A Boolean value. A value of true is returned if the job was successfully cancelled.

備註

An error is returned if the job ID passed in the JobID parameter is not found. If you call this method using the ID of a job that has already been cancelled, the report server ignores the operation.

範例

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see 編譯和執行程式碼範例. 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());
      }
   }
}

執行緒安全性

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

平台

開發平台

如需受支援的平台清單,請參閱<安裝 SQL Server 2005 的硬體和軟體需求>。

目標平台

如需受支援的平台清單,請參閱<安裝 SQL Server 2005 的硬體和軟體需求>。

請參閱

參考

ReportingService2005 Class
ReportingService2005 Members
Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005 Namespace