TaskHost Clase

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.

Espacio de nombres:  Microsoft.SqlServer.Dts.Runtime
Ensamblado:  Microsoft.SqlServer.ManagedDTS (en Microsoft.SqlServer.ManagedDTS.dll)

public sealed class TaskHost : EventsProvider, 
	IDTSObjectHost, IDTSPropertiesProvider, IDTSPackagePath

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 Contenedores de Integration Services.

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());

Sample Output:

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

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

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Adiciones de comunidad