共用方式為


TaskHost 類別

Provides a container that encapsulates a single task. In the SSIS Designer, the TaskHost is not configured separately; instead, it is configured when you set the properties of the task it encapsulates.

繼承階層

System.Object
  Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.Executable
      Microsoft.SqlServer.Dts.Runtime.DtsContainer
        Microsoft.SqlServer.Dts.Runtime.EventsProvider
          Microsoft.SqlServer.Dts.Runtime.TaskHost

命名空間:  Microsoft.SqlServer.Dts.Runtime
組件:  Microsoft.SqlServer.ManagedDTS (在 Microsoft.SqlServer.ManagedDTS.dll 中)

語法

'宣告
Public NotInheritable Class TaskHost _
    Inherits EventsProvider _
    Implements IDTSObjectHost, IDTSPropertiesProvider, IDTSPropertiesProviderEx, IDTSPackagePath,  _
    IDTSExecutionPath
'用途
Dim instance As TaskHost
public sealed class TaskHost : EventsProvider, 
    IDTSObjectHost, IDTSPropertiesProvider, IDTSPropertiesProviderEx, IDTSPackagePath, IDTSExecutionPath
public ref class TaskHost sealed : public EventsProvider, 
    IDTSObjectHost, IDTSPropertiesProvider, IDTSPropertiesProviderEx, IDTSPackagePath, IDTSExecutionPath
[<SealedAttribute>]
type TaskHost =  
    class 
        inherit EventsProvider 
        interface IDTSObjectHost 
        interface IDTSPropertiesProvider 
        interface IDTSPropertiesProviderEx 
        interface IDTSPackagePath 
        interface IDTSExecutionPath 
    end
public final class TaskHost extends EventsProvider implements IDTSObjectHost, IDTSPropertiesProvider, IDTSPropertiesProviderEx, IDTSPackagePath, IDTSExecutionPath

TaskHost 型別公開下列成員。

屬性

  名稱 說明
公用屬性 ApartmentThreaded 基礎結構。Gets a value that indicates whether the task is an apartment-threaded object.
公用屬性 CreationName Returns the string that is used to create an instance of the DtsContainer object. This property is read-only. (繼承自 DtsContainer。)
公用屬性 DebugMode Gets or sets a Boolean that indicates whether the DtsContainer object is in debug mode and whether it should fire the OnBreakpointHit event while running. (繼承自 DtsContainer。)
公用屬性 DelayValidation Gets or sets a Boolean that indicates whether validation of the task is delayed until run time. The default value is false. (繼承自 DtsContainer。)
公用屬性 Description Gets or sets the description of the DtsContainer object. (繼承自 DtsContainer。)
公用屬性 Disable A Boolean that indicates if the DtsContainer object is disabled. (繼承自 DtsContainer。)
公用屬性 DisableEventHandlers Gets or sets a Boolean that indicates whether the event handlers on task are disabled. (繼承自 EventsProvider。)
公用屬性 EventHandlers Returns a collection of event handler objects. This field is read-only. (繼承自 EventsProvider。)
公用屬性 EventInfos Returns a collection of EventInfo objects. This field is read-only. (繼承自 EventsProvider。)
公用屬性 ExecutionDuration Returns a value that indicates the amount of time that the container spent in execution, in milliseconds. This property is read-only. (繼承自 DtsContainer。)
公用屬性 ExecutionResult Returns a value that indicates the success or failure of the execution of the DtsContainer object. (繼承自 DtsContainer。)
公用屬性 ExecutionStatus Returns a value that indicates the current status of the execution of the DtsContainer object at the time of the call. (繼承自 DtsContainer。)
公用屬性 ExecutionValue Gets the result of the task execution. This property is read-only.
公用屬性 ExecValueVariable Gets or sets the custom Variable that contains the execution results of the task.
公用屬性 FailPackageOnFailure Gets or sets a Boolean that indicates whether the package fails when a child container fails. This property is used on containers, not the package itself. (繼承自 DtsContainer。)
公用屬性 FailParentOnFailure Gets or sets a Boolean that defines whether the parent container fails when a child container fails. (繼承自 DtsContainer。)
公用屬性 ForcedExecutionValue If the ForceExecutionValue property is set to True, gets or sets a value that specifies the optional execution value that the package returns. (繼承自 DtsContainer。)
公用屬性 ForceExecutionResult Gets or sets a DTSForcedExecResult enumeration value that specifies the forced execution result of the container. (繼承自 DtsContainer。)
公用屬性 ForceExecutionValue Gets or sets a Boolean that indicates whether the execution value of the container should be forced to contain a particular value. (繼承自 DtsContainer。)
公用屬性 HasExpressions Gets a value that indicates whether the TaskHost object has expressions.
公用屬性 HostType Gets a value from the DTSObjectHostType enumeration that describes the host of the container. This property is read-only.
公用屬性 ID Returns the ID, which is a GUID, of the DtsContainer. The value is read-only. (繼承自 DtsContainer。)
公用屬性 InnerObject Gets the method used to access the task instance being hosted by the TaskHost.
公用屬性 IsDefaultLocaleID A Boolean that indicates whether the container uses the default locale. This property is read-only. (繼承自 DtsContainer。)
公用屬性 IsolationLevel Gets or sets the isolation level of the transaction in the DtsContainer object. (繼承自 DtsContainer。)
公用屬性 LocaleID Gets or sets an Integer that indicates the Microsoft Win32® localeID to use when the DtsContainer object is executed. (繼承自 DtsContainer。)
公用屬性 LogEntryInfos Returns a LogEntryInfos object. This property is read-only. (繼承自 DtsContainer。)
公用屬性 LoggingMode Gets or sets a valid value from the DTSLoggingMode enumeration that indicates the logging mode of the container. (繼承自 DtsContainer。)
公用屬性 LoggingOptions Returns an object that contains properties that indicates the filtering and logging resource for containers. This property is read-only. (繼承自 DtsContainer。)
公用屬性 MaximumErrorCount Gets or sets an Integer value that indicates the maximum number of errors that can occur before the DtsContainer object stops running. (繼承自 DtsContainer。)
公用屬性 Name Gets or sets the name of the DtsContainer. (繼承自 DtsContainer。)
公用屬性 Parent Returns the parent container. The value is read-only. (繼承自 DtsContainer。)
公用屬性 Properties Gets a DtsProperties collection that contains the properties associated with the task.
公用屬性 Site 基礎結構。Gets or sets the site for the container. (繼承自 DtsContainer。)
公用屬性 StartTime Returns the time that the container began execution. This property is read-only. (繼承自 DtsContainer。)
公用屬性 StopTime Returns the time that the container ended execution. This property is read-only. (繼承自 DtsContainer。)
公用屬性 SuspendRequired Gets or sets a Boolean that indicates if tasks should suspend when they encounter a breakpoint. This value is set by the runtime engine for tasks and containers when a breakpoint is encountered. (繼承自 DtsContainer。)
公用屬性 TransactionOption Gets or sets a DTSTransactionOption enumeration value that indicates whether the container participates in transactions. (繼承自 DtsContainer。)
公用屬性 VariableDispenser Returns a VariableDispenser object so variables associated with the container can be locked. (繼承自 DtsContainer。)
公用屬性 Variables Returns a collection that contains the variables associated with this container. This property is read-only. (繼承自 DtsContainer。)

上層

方法

  名稱 說明
公用方法 AcceptBreakpointManager This method is called by the run-time engine when a task or container is created, and passes it a BreakpointManager manager to allow the task to create, remove, and check the status of breakpoints. This method is called by the runtime and is not used in code. (繼承自 DtsContainer。)
公用方法 ComputeExpressions Computes the expressions of the TaskHost object.
公用方法 Dispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (繼承自 DtsContainer。)
公用方法 Equals Determines whether two object instances are equal. (繼承自 DtsObject。)
公用方法 Execute Runs the application, container, or package as part of a package workflow. (繼承自 DtsContainer。)
公用方法 GetExecutionPath Returns the execution path of the current TaskHost.
公用方法 GetExpression Returns the expression for the specified property. Null means no expression is assigned.
公用方法 GetHashCode Returns the hash code for this instance. (繼承自 DtsObject。)
公用方法 GetPackagePath Returns the path to the task location.
公用方法 GetType (繼承自 Object。)
公用方法 LoadFromXML This method is not callable by your application code. To load a package saved as .xml, use the Application.LoadPackage method. (繼承自 DtsContainer。)
公用方法 ResumeExecution Resumes execution of the task after pausing. The task or container is resumed by the runtime engine. (繼承自 DtsContainer。)
公用方法 SaveToXML This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method. (繼承自 DtsContainer。)
公用方法 SetExpression Assigns the specified expression to the property. Specify nullnull 參考 (在 Visual Basic 中為 Nothing) to remove an existing expression from the property.
公用方法 SuspendExecution Called when the executable needs to suspend. This method is called by the runtime engine. (繼承自 DtsContainer。)
公用方法 ToString (繼承自 Object。)
公用方法 Validate Allows the container to determine if it contains invalid settings that will prevent it from executing successfully. (繼承自 DtsContainer。)

上層

事件

  名稱 說明
公用事件 Disposed Adds an event handler to listen to the Disposed event on the component. (繼承自 DtsContainer。)

上層

欄位

  名稱 說明
受保護的欄位 m_executable 基礎結構。The executable. (繼承自 Executable。)

上層

備註

Integration Services provides several different types of containers for building packages, with the TaskHost being one of those containers. The TaskHost container provides services to a single task. It does not have a matching item in the graphical designer toolbox. The TaskHost object is a wrapper object for the task, and is created transparently during task creation. It is returned from the Add method as an Executable object and is cast as a TaskHost. Finally, the task instance is accessed through the InnerObject property. For more information on all of the SSIS containers, see 整合服務容器.

範例

The following code example shows the creation of an empty package. Two tasks are added to the package and cast into a TaskHost class, so TaskHost methods and properties can be used on either task , such as the InnerObject method, without regard to what kind of task it is.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;

namespace Microsoft.SqlServer.SSIS.Samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Package p = new Package();
            // Add a File System task to the package.
            Executable exec1 = p.Executables.Add("STOCK:FileSystemTask");
            TaskHost thFileSystemTask = exec1 as TaskHost;
            // Add a Bulk Insert task to the package.
            Executable exec2 = p.Executables.Add("STOCK:BulkInsertTask");
            TaskHost thBulkInsertTask = exec2 as TaskHost;

            // Iterate through the package Executables collection.
            Executables pExecs = p.Executables;
            foreach (Executable pExec in pExecs)
            {
                TaskHost taskHost = (TaskHost)pExec;
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString());
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
 
Namespace Microsoft.SqlServer.SSIS.Samples
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim p As Package =  New Package() 
            ' Add a File System task to the package.
            Dim exec1 As Executable =  p.Executables.Add("STOCK:FileSystemTask") 
            Dim thFileSystemTask As TaskHost =  exec1 as TaskHost 
            ' Add a Bulk Insert task to the package.
            Dim exec2 As Executable =  p.Executables.Add("STOCK:BulkInsertTask") 
            Dim thBulkInsertTask As TaskHost =  exec2 as TaskHost 
 
            ' Iterate through the package Executables collection.
            Dim pExecs As Executables =  p.Executables 
            Dim pExec As Executable
            For Each pExec In pExecs
                Dim taskHost As TaskHost = CType(pExec, TaskHost)
                Console.WriteLine("Type {0}", taskHost.InnerObject.ToString())
            Next
        End Sub
    End Class
End Namespace

Sample Output:

Type Microsoft.SqlServer.Dts.Tasks.FileSystemTask.FileSystemTask

Type Microsoft.SqlServer.Dts.Tasks.BulkInsertTask.BulkInsertTask

執行緒安全性

這個型別的任何公用 static (在 Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

Microsoft.SqlServer.Dts.Runtime 命名空間