Udostępnij za pośrednictwem


Opracowywanie interfejsu użytkownika dla niestandardowego zadania

Integration Services Modelu obiektów umożliwia programistom zadanie niestandardowe łatwo utworzyć niestandardowego interfejs użytkownika dla zadania, który można następnie zintegrowane i wyświetlane w Business Intelligence Development Studio.Interfejs użytkownika można udostępnić pomocne informacje do użytkownika w SSIS Projektant i użytkownicy przewodnik prawidłowo skonfigurować właściwości i ustawienia niestandardowe zadania.

Opracowywanie interfejs użytkownika niestandardowego zadania polega na użyciu dwóch ważnych klas.W poniższej tabela opisano tych klas.

Klasa

Opis

[ T:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute ]

Atrybut, który identyfikuje zadanie zarządzanych i dostarcza projekt -czas informacji za pośrednictwem jej właściwości formantu jak SSIS Projektant wyświetla i współdziała z obiektu.

[ T:Microsoft.SqlServer.Dts.Runtime.Design.IDtsTaskUI ]

Interfejs używany przez zadanie, aby skojarzyć zadanie z jego niestandardowego interfejsu użytkownika.

Ta sekcja opisuje rolę DtsTaskAttribute atrybut i IDtsTaskUI interfejs podczas opracowywania interfejs użytkownika dla niestandardowego zadania i zawiera szczegółowe informacje dotyczące sposobu tworzenia, integracja, wdrożyć i debugowania zadanie w SSIS projektanta.

SSIS Designer udostępnia wiele punktów wejścia do interfejs użytkownika dla zadania: Użytkownik może wybrać Edytuj w menu skrótów kliknij dwukrotnie zadanie, lub kliknij przycisk Pokaż edytora łącze u dołu arkusza właściwość.Gdy użytkownik uzyskuje dostęp do jednego z tych punktów wejścia SSIS Projektant lokalizuje i ładuje wirtualny plik dziennika, który zawiera interfejs użytkownika dla zadania.Interfejs użytkownika dla zadania jest odpowiedzialny za tworzenie okna dialogowego właściwości są wyświetlane użytkownikowi w Business Intelligence Development Studio.

Interfejs użytkownika i zadania są odrębne osoby.Dlatego powinny zostać wykonane w oddzielnych zespołów do lokalizacja, wdrażania i prac konserwacyjnych.Zadanie nie zostanie załadowana biblioteka DLL, zadzwonić lub zazwyczaj zawierają wszelkie wiedza jego interfejs użytkownika, z wyjątkiem informacji zawartych w DtsTaskAttribute wartości atrybut zakodowane w zadaniu.Jest to jedyny sposób zadania i jego interfejs użytkownika są skojarzone.

Atrybut DtsTask

DtsTaskAttribute Atrybut jest umieszczany w kodzie klasy zadania, aby kojarzenie zadania z jego interfejs użytkownika. SSIS Projektant używa właściwości atrybut, aby określić sposób wyświetlania zadań w projektancie.Te właściwości obejmują nazwę i ikonę, ewentualne.

W poniższej tabela opisano właściwości DtsTaskAttribute atrybut.

Właściwość

Opis

[ P:Microsoft.SqlServer.Dts.Runtime.Localization.DtsLocalizableAttribute.DisplayName ]

Wyświetla nazwę zadania w przyborniku przepływ sterowania.

[ P:Microsoft.SqlServer.Dts.Runtime.Localization.DtsLocalizableAttribute.Description ]

Opis zadania (dziedziczone z DtsLocalizableAttribute).Właściwość ta jest wyświetlana w etykietkach narzędzi.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.IconResource ]

Ikona wyświetlana w SSIS projektanta.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.RequiredProductLevel ]

Jeśli używany, zestaw do jednej z wartości w DTSProductLevel wyliczania.Na przykład RequiredProductLevel = DTSProductLevel.None.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.TaskContact ]

Ładownie informacje kontaktowe dla okazjach, gdy zadanie wymaga obsługi technicznej.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.TaskType ]

Przypisuje typ zadania.

Attribute.TypeID

Podczas implementowania w klasie pochodnej, pobiera identyfikator unikatowy dla tego atrybutu.Aby uzyskać więcej informacji, zobacz Attribute.TypeID właściwość.Biblioteka klas .NET Framework.

[ P:Microsoft.SqlServer.Dts.Runtime.DtsTaskAttribute.UITypeName ]

Wpisz nazwę wirtualny plik dziennika, który jest używany przez SSIS Projektant załadować wirtualny plik dziennika.Ta właściwość jest używana odnaleźć wirtualny plik dziennika interfejs użytkownika dla zadania.

Następujący kod ilustruje przykład DtsTaskAttribute , jak będzie wyglądał zakodowane powyżej definicji klasy.

using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
  [DtsTask
  (
   DisplayName = "MyTask",
   IconResource = "MyTask.MyTaskIcon.ico",
   UITypeName = "My Custom Task," +
   "Version=1.0.0.0," +
   "Culture = Neutral," +
   "PublicKeyToken = 12345abc6789de01",
   TaskType = "PackageMaintenance",
   TaskContact = "MyTask; company name; any other information",
   RequiredProductLevel = DTSProductLevel.None
   )]
  public class MyTask : Task
  {
    // Your code here.
  }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime

<DtsTask(DisplayName:="MyTask", _
 IconResource:="MyTask.MyTaskIcon.ico", _
 UITypeName:="My Custom Task," & _
 "Version=1.0.0.0,Culture=Neutral," & _
 "PublicKeyToken=12345abc6789de01", _
 TaskType:="PackageMaintenance", _
 TaskContact:="MyTask; company name; any other information", _
 RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
  Inherits Task

  ' Your code here.

End Class 'MyTask

SSIS Designer używa UITypeName właściwość atrybut, która zawiera nazwę wirtualny plik dziennika, wpisz nazwę, wersja, kultury i token klucz publicznego, aby zlokalizować wirtualny plik dziennika w globalnej pamięci podręcznej zestawów (GAC) i załaduj go do użytku przez projektanta.

Po wirtualny plik dziennika została znaleziona, SSIS Projektant używa właściwości atrybut, aby wyświetlić dodatkowe informacje o zadaniu w SSIS projektanta, takich jak nazwy, ikony i opis zadania.

DisplayName, Description, I IconResource Właściwości określają sposób przedstawiania zadania do użytkownika.IconResource Właściwość zawiera identyfikator zasób ikony osadzony w interfejs użytkownika wirtualny plik dziennika.Projektant ładuje przez identyfikator zasób ikony z wirtualny plik dziennika i wyświetla obok nazwy zadania w przyborniku i na powierzchni projektanta, gdy zadanie zostanie dodane do pakiet.Jeśli zadania nie zasób ikony, Projektant używa domyślnej ikony dla zadania.

Interfejs IDTSTaskUI

IDtsTaskUI Interfejs definiuje kolekcja metod i właściwości wywołana przez SSIS Projektant do inicjowania i wyświetlanie interfejsu użytkownika, skojarzone z zadaniem.Gdy wywoływany interfejs użytkownika dla zadania, wywołania konstruktora Initialize metoda implementowane przez interfejs użytkownika zadania, gdy został napisany i następnie udostępnia TaskHost i Connections kolekcji zadań i pakiet, odpowiednio, jako parametry.Kolekcje te są przechowywane lokalnie i używane później w GetView metoda.

Wywołania konstruktora GetView metoda żądania, która jest wyświetlana w oknie SSIS projektanta.Zadanie tworzy wystąpienie okna zawiera interfejs użytkownika dla zadania i zwraca interfejs użytkownika projektanta dla ekranu.Zazwyczaj TaskHost i Connections obiekty są dostarczane do okna za pomocą konstruktora przeciążony, aby można było używać do konfigurowania zadań.

SSIS Projektant wywołania GetView Metoda zadań interfejs użytkownika do wyświetlania interfejsu użytkownika dla zadania.Interfejs użytkownika zadania zwraca formularz systemu Windows z tej metoda i SSIS Projektant pokazuje ten formularz jako modalnego okna dialogowego.Po zamknięciu formularza, SSIS Projektant sprawdza wartość DialogResult właściwość formularza, aby ustalić, czy zadania została zmodyfikowana i zmiany te powinny być zapisywane.Jeśli wartość DialogResult właściwość jest OK, SSIS Projektant wywołań metod trwałość zadania, aby zapisać zmiany; w przeciwnym razie zmiany zostaną odrzucone.

Następujący kod implementuje próbki IDtsTaskUI interfejs oraz zakłada istnienie systemu Windows klasy formularza o nazwie SampleTaskForm.

using System;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Runtime.Design;

namespace Sample
{
   public class HelloWorldTaskUI : IDtsTaskUI
   {
      TaskHost   taskHost;
      Connections connections;
      public void Initialize(TaskHost taskHost, IServiceProvider serviceProvider)
      {
         this.taskHost = taskHost;
         IDtsConnectionService cs = serviceProvider.GetService
         ( typeof( IDtsConnectionService ) ) as   IDtsConnectionService; 
         this.connections = cs.GetConnections();
      }
      public ContainerControl GetView()
      {
        return new HelloWorldTaskForm(this.taskHost, this.connections);
      }
     public void Delete(IWin32Window parentWindow)
     {
     }
     public void New(IWin32Window parentWindow)
     {
     }
   }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Runtime.Design
Imports System.Windows.Forms

Public Class HelloWorldTaskUI
  Implements IDtsTaskUI

  Dim taskHost As TaskHost
  Dim connections As Connections

  Public Sub Initialize(ByVal taskHost As TaskHost, ByVal serviceProvider As IServiceProvider) _
    Implements IDtsTaskUI.Initialize

    Dim cs As IDtsConnectionService

    Me.taskHost = taskHost
    cs = DirectCast(serviceProvider.GetService(GetType(IDtsConnectionService)), IDtsConnectionService)
    Me.connections = cs.GetConnections()

  End Sub

  Public Function GetView() As ContainerControl _
    Implements IDtsTaskUI.GetView

    Return New HelloWorldTaskForm(Me.taskHost, Me.connections)

  End Function

  Public Sub Delete(ByVal parentWindow As IWin32Window) _
    Implements IDtsTaskUI.Delete

  End Sub

  Public Sub [New](ByVal parentWindow As IWin32Window) _
    Implements IDtsTaskUI.[New]

  End Sub

End Class
Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.