Udostępnij za pośrednictwem


Tworzenie wyliczania Foreach do niestandardowego

Etapy tworzenia numeratora foreach niestandardowe są podobne do czynności tworzenia innych obiektów niestandardowych dla Integration Services:

  • Utwórz nową klasę, która dziedziczy z klasy podstawowej.Moduł wyliczający foreach jest klasa podstawowa ForEachEnumerator.

  • Zastosuj atrybut określający typ obiektu do klasy.Moduł wyliczający foreach atrybut jest DtsForEachEnumeratorAttribute.

  • Zastąpić stosowania właściwości i metod klasy podstawowej.Moduł wyliczający foreach, najważniejsze jest GetEnumerator(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging) Metoda.

  • Opcjonalnie można rozwijać interfejs użytkownika niestandardowego.Aby moduł wyliczający foreach, wymaga klasy, która implementuje IDTSForEachEnumeratorUI interfejs.

Niestandardowy moduł wyliczający jest obsługiwana przez ForEachLoop kontener. Przy uruchomieniu czas, ForEachLoop kontener wywołania GetEnumerator(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging) Metoda niestandardowy moduł wyliczający. Niestandardowy moduł wyliczający zwraca obiekt, który implementuje IEnumerable interfejs, taki jak ArrayList. The ForEachLoop then iterates over each element in the kolekcja, provides the value of the current element to the przepływ sterowania through a user-defined variable, and executes the przepływ sterowania in the kontener.

Przykładowe niestandardowe moduł wyliczający pracy zobacz ForEachDirectory Sample.

Wprowadzenie do wyliczania ForEach do niestandardowego

Tworzenie projektów i klasy

Ponieważ wszystkie zarządzane foreach moduły wyliczające dziedziczyć ForEachEnumerator Klasa podstawowa, pierwszym krokiem podczas tworzenia numeratora foreach niestandardowego jest utworzenie projektu biblioteki klas w preferowanym zarządzanych języka programowania, a następnie utworzyć klasę, która dziedziczy z klasy podstawowej. W tej klasie pochodnej zastąpią metodami i właściwościami klasy podstawowej do zaimplementowania sieci niestandardowe funkcje.

W tej samej rozwiązania Utwórz projekt biblioteki drugiej klasy dla interfejs użytkownika niestandardowego.Oddzielny wirtualny plik dziennika dla interfejs użytkownika jest zalecane w celu ułatwienia wdrożenia, ponieważ pozwala aktualizować i ponownie rozmieścić jej interfejs użytkownika lub moduł wyliczający foreach niezależnie.

Konfigurowanie oba projekty do rejestrowania zestawów, który zostanie wygenerowany w kompilacji czas przy użyciu pliku klucz silnej nazwy.

Stosowanie atrybut DtsForEachEnumerator

Zastosowanie DtsForEachEnumeratorAttribute atrybut do klasy, które zostały utworzone w celu identyfikacji jako numerator foreach. Atrybut ten zawiera informacje czas projektowania, takie jak nazwa i opis modułu wyliczającego foreach.The Name właściwość appears in the dropdown list of available enumerators on the kolekcja tab of the Foreach Loop Editor dialog box.

Użycie UITypeName() Właściwość połączyć moduł wyliczający foreach w interfejs użytkownika niestandardowego. Aby uzyskać klucz publiczny token jest wymagany dla tej właściwość, które wykorzystania przez SN.exe t wyświetlanie publicznej token klucza z pliku pary kluczy (.snk), który ma być używany do podpisywania wirtualny plik dziennika interfejs użytkownika.

Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Namespace Microsoft.Samples.SqlServer.Dts
    <DtsForEachEnumerator(DisplayName = "MyEnumerator", Description="A sample custom enumerator", UITypeName="FullyQualifiedTypeName,AssemblyName,Version=1.00.000.00,Culture=Neutral,PublicKeyToken=<publickeytoken>")> _ 
    Public Class MyEnumerator
     Inherits ForEachEnumerator
        'Insert code here.
    End Class
End Namespace
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.Samples.SqlServer.Dts
{
    [DtsForEachEnumerator( DisplayName = "MyEnumerator", Description="A sample custom enumerator", UITypeName="FullyQualifiedTypeName,AssemblyName,Version=1.00.000.00,Culture=Neutral,PublicKeyToken=<publickeytoken>")]
    public class MyEnumerator : ForEachEnumerator
    {
        //Insert code here.
    }
}

Budowanie, wdrażanie i debugowanie wyliczania niestandardowe

Kroki prowadzące do budowania, wdrażania i debugowanie numeratora foreach niestandardowe w Integration Services są bardzo podobne do czynności wymagane w przypadku innych typów obiektów niestandardowych. Aby uzyskać więcej informacji zobaczBudowanie, wdrażanie i debugowanie obiekty niestandardowe.

Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.