Exemplarische Vorgehensweise: Einen UII-Anwendungs-Adapter erstellen
Sie können einen Anwendungsadapter erstellen, wenn Sie eine externe Anwendung mit Unified Service Desk integrieren möchten. Microsoft Dataverse stellt eine Visual Studio-Vorlage zum Erstellen eines Anwendungsadapters bereit. Die Vorlage bietet grundlegenden Code als Kommentare, um Ihnen dabei zu helfen, den Anwendungs-Adapter entwicklen zu können.
In dieser exemplarischen Vorgehensweise erstellen Sie eine externe Anwendung QsExternalApp
und hosten sie in Unified Service Desk. Anschließend erstellen und konfigurieren Sie einen Anwendungsadapter ExternalApplicationAdapter
für die externe Anwendung zur Interaktion mit Unified Service Desk. Die externe Anwendung verfügt über vier Labels: je eines für den Vornamen, den Nachnamen, die Adresse und die ID des Kunden sowie vier entsprechende Textfelder, in denen die Werte von Unified Service Desk angezeigt werden.
In diesem Abschnitt
Schritt 1: Erstellen einer externen Anwendung
Schritt 2: Konfigurieren Sie zunächst eine externe Anwendung
Schritt 3: Testen der externen Anwendung
Schritt 4: Erstellen des Anwendungsadapters
Schritt 5: Konfigurieren des Anwendungsadapters
Schritt 6: Testen des Anwendungsadapters
Anforderungen
Microsoft .NET Framework 4.6.2
Unified Service Desk Client-Anwendung; wird für das Testen des gehosteten Steuerelements benötigt.
Visual Studio 2012, Visual Studio 2013, oder Visual Studio 2015
NuGet Paket-Manager für Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
CRM SDK-Vorlagen für Visual Studio, das die gehostete UII- Steuerelement-Projektvorlage enthält. Laden Sie die CRM SDK-Vorlagen aus dem Visual Studio Katalog herunter,und doppelklicken Sie auf die Datei CRMSDKTemplates.vsix, um die Vorlage in Visual Studio zu installieren.
Schritt 1: Erstellen einer externen Anwendung
Doppelklicken Sie auf die Paketdatei, um den Inhalt zu extrahieren.
Navigieren Sie zum Ordner <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp und öffnen Sie die Datei Microsoft.Uii.QuickStarts.QsExternalApp.csproj in Visual Studio.
Drücken Sie F5 oder wählen Sie Debuggen>Debuggen starten, um eine externe Beispielanwendung zu erstellen. Die Anwendung (Microsoft.Uii.QuickStarts.QsExternalApp.exe) wird im Ordner /bin/debug- des Projektumfangs erstellt.
Schritt 2: Konfigurieren der externen Anwendung
In diesem Schritt erstellen Sie ein gehostetes Steuerelement vom Typ Externe gehostete Anwendung, um die Windows Forms Anwendung anzuzeigen.
Melden Sie sich bei Unified Service Desk Administrator an.
Wählen Sie Gehostete Steuerelemente unter Grundeinstellungen.
Wählen Sie + Neu.
Geben Sie auf der Seite Neues gehostetes Steuerelement die folgenden Werte an:
Feld Wert Name QsExternalApp USD-Komponente Gehostete CCA-Anwendung Gehosteter Anwendungstyp Externe gehostete Anwendung Anwendung ist global Markiert Anzeigegruppe MainPanel Adapter Keinen Adapter verwenden Anwendung ist dynamisch Nein Wählen Sie die Registerkarte Hosting und geben Sie den Externe App-URI Wert als Microsoft.Uii.QuickStarts.QsExternalApp.exe ein.
Wählen Sie Speichern aus.
Schritt 3: Testen der externen Anwendung
Kopieren Sie die Anwendung aus Ihrem Visual Studio-Projektausgabeordner (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren Sie die Microsoft.Uii.QuickStarts.QsExternalApp.exe-Datei in das Verzeichnis C:\Program Files\Microsoft Dynamics CRM USD\USD Verzeichnis.
Führen Sie den Unified Service Desk Client aus, um eine Verbindung zu Ihrem Dataverse-Server herzustellen.
Bei erfolgreicher Anmeldung wird auf dem Desktop die Schaltfläche Externe Beispiele-Webanwendung angezeigt.
Wählen Sie Beispiel externe Anwendung, um Ihre in Unified Service Desk gehostete externe Anwendung zu sehen.
Anmerkung
Zu diesem Zeitpunkt sind die Felder leer, da Sie die Anwendung nur in Unified Service Desk gehostet haben. Um sie mit Werten aus Unified Service Desk zu füllen, müssen Sie einen Anwendungsadapter erstellen, wie im nächsten Schritt beschrieben.
Schritt 4: Erstellen des Anwendungsadapters
Starten Sie Visual Studio und erstellen Sie ein neues Projekt.
Im Dialogfeld Neues Projekt:
Erweitern Sie in der Liste der installierten Vorlagen Visual C# und wählen Sie CRM SDK Templates >Unified Service Desk> UII Application Adapter
Geben Sie den Namen und den Speicherort des Projekts an, und wählen Sie OK, um ein neues Projekt zu erstellen.
Erweitern Sie Lösungs-Explorer den Abschnitt Referenzen, um sicherzustellen, dass die Assemblyreferenz korrekt aufgelöst wird.
Öffnen Sie die AppAdapter.cs-Datei und fügen Sie die folgenden Codezeilen hinzu, um die Süeicherorte für dei einzelnen Komponenten auf der Seite in der Klassendefinition festzulegen.
// Set up your locations for each component on the page. // If you wish, you could use Spy++ to get the actual names as well. // First Name text box int intFirstNameCoordX = 47; int intFirstNameCoordY = 32; // Last Name text box int intLastNameCoordX = 223; int intLastNameCoordY = 32; // Address Text box int intAddressCoordX = 47; int intAddressCoordY = 81; // Customer ID text box int intIDCoordX = 47; int intIDCoordY = 126;
Fügen Sie den folgenden Code der Definition von
NotifyContextChange
hinzu, um die Anwendung darüber zu i nformieren, dass der Kontext sich geändert hat. Weitere Informationen finden Sie unter Kontex.public override bool NotifyContextChange(Context context) { IntPtr ptr = MainWindowHandle; // Find the control (first name) by position IntPtr childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY)); // Fill data out Win32API.SetWindowTextAny(childHwnd, context["firstname"]); // Find the control (last name) by position childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY)); // Fill out the data Win32API.SetWindowTextAny(childHwnd, context["lastname"]); childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intAddressCoordX, intAddressCoordY)); Win32API.SetWindowTextAny(childHwnd, context["address1_line1"]); childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intIDCoordX, intIDCoordY)); Win32API.SetWindowTextAny(childHwnd, context["CustomerID"]); // Hands control back over to the base class to notify next app of context change. return base.NotifyContextChange(context); }
Fügen Sie den folgenden Code zur Überschreibungsdefinition von
DoAction
hinzu, um die Felder des Formulars mit den Werten von Unified Service Desk zu aktualisieren.public override bool DoAction(Microsoft.Uii.Csr.Action action, RequestActionEventArgs args) { IntPtr ptr; IntPtr childHwnd; switch (args.Action) { case "UpdateFirstName": // Get locations of what you want to update and handles ptr = MainWindowHandle; childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY)); // Populate data into fields Win32API.SetWindowTextAny(childHwnd, args.Data); break; case "UpdateLastName": // Get locations of what you want to update and handles ptr = MainWindowHandle; childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY)); // Populate data into fields Win32API.SetWindowTextAny(childHwnd, args.Data); break; } return base.DoAction(action, args); }
Speichern Sie das Projekt und bauen Sie es auf (Aufbauen>Lösung aufbauen). Nachdem das Projekt erfolgreich aufgebaut wurde, wird eine Assembly (ExternalApplicationAdapter.dll) im \bin\debug-Ordner Ihres Projektordners generiert. Sie benötigen diese Assembly späterzum Testen und Verwenden Ihres Anwendungsadapters.
Schritt 4: Konfigurieren des Anwendungsadapters
Melden Sie sich bei Unified Service Desk Administrator an.
Wählen Sie Gehostete Steuerelemente unter Grundeinstellungen.
Wählen Sie in der Liste der gehosteten Steuerelemente das gehostete Steuerelement
QsExternalApp
.Geben Sie im Abschnitt Adapterkonfiguration die folgenden Werte an:
Feld Wert Adapter Adapter verwenden URI ExternalApplicationAdapter
Typ ExternalApplicationAdapter.AppAdapter
Anmerkung
URI ist der Name Ihres Assemblys und Typ ist der Name Ihres Assemblys (dll), gefolgt von einem Punkt (.) und dann dem Klassennamen in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name des Assemblys
ExternalApplicationAdapter
und Name der Klasse istAppAdapter
; dies ist der Standardklassenname, wenn Sie einen Anwendungsadapter erstellen.Wählen Sie Speichern aus, um die Änderungen zu speichern.
Schritt 5: Testen des Anwendungsadapters
Kopieren Sie die Montage, die Ihre Anwendungsadapter-Definition enthält, aus dem Ausgabeordner Ihres Projekts Visual Studio (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall wird die ExternalApplicationAdapter.dll Datei nach c: \Programm Dateien\Microsoft Dynamics CRM\ USD\USD Verzeichnis kopiert.
Führen Sie den Unified Service Desk Client aus, um sich mit Ihrem Dataverse-Server zu verbinden.
Bei erfolgreicher Anmeldung wird die externe Beispiel-Anwendung auf dem Desktop angezeigt.
Wählen Sie Suchen aus und wählen Sie dann Kontakte aus, und wählen Sie einen Kontakt aus. In diesem Fall wählen wir
Patrick Sands
.Wählen Sie Externe Beispiel-Anwendung, und Sie sehen, dass Vorname, Nachname, Adresse und ID des Kunden ausgefüllt sind.
Anmerkung
Diese exemplarische Vorgehensweise veranschaulicht, wie Sie Daten aus Unified Service Desk in der externen Anwendung anzeigen oder lesen können. Um zu verstehen, wie Sie die Daten in Unified Service Desk von der externen Anwendung aus aktualisieren können, lesen Sie die Exemplarische Vorgehensweise: Ein gehostetes UII Windows Forms Steuerelement erstellen
Siehe auch
Verwenden von UII-Adaptern, um mit externem und Webanwendungen zu interagieren