Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Veröffentlicht: November 2016
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Sie können einen Anwendungsadapter erstellen, wenn Sie eine externe Anwendung mit Unified Service Desk integrieren möchten.Microsoft Dynamics 365 stellt eine Microsoft 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 Awendung QsExternalApp und hosten sie in Unified Service Desk. Sie erstellen und konfigurieren dann einen Anwendungsadapter ExternalApplicationAdapter, damit die externe Webanwendung mit Unified Service Desk interagieren kann. Die externe Anwendung hat vier Labels: je eines für Vornamen, Nachnamen, Adresse und ID des Kunden, und vier entsprechende Textfelder, um Werte aus Unified Service Desk anzuzeigen.
In diesem Abschnitt
Voraussetzungen
Schritt 1: Erstellen einer externen Anwendung
Schritt 2: Konfigurieren der externen Anwendung in Microsoft Dynamics 365.
Schritt 3: Testen der externen Anwendung
Schritt 4: Erstellen des Anwendungsadapters
Schritt 4: Konfigurieren des Anwendungsadapters in Dynamics 365
Schritt 5: Testen des Anwendungsadapters
Voraussetzungen
Microsoft .NET Framework 4.5.2
Unified Service Desk-Client-Anwendung; erforderlich für das Testen des gehosteten Steuerelements.
Microsoft Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
NuGet Package Manager für Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
Microsoft Dynamics 365 SDK-Vorlagen für Visual Studio, das die gehostete UII- Steuerelement-Projektvorlage enthält. Sie können Sie auf eine der folgenden Weisen erhalten:
Laden Sie die CRM-SDK-Vorlage herunter. Doppelklicken Sie zur Installation der Vorlage in Visual Studio auf die Datei CRMSDKTemplates.vsix.
Laden Sie das CRM SDK-Paket herunter und extrahieren Sie es. Gehen Sie zu dem SDK\Templates-Ordner im SDK, 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 <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp-Ordner, und öffnen Sie die Microsoft.Uii.QuickStarts.QsExternalApp.csproj-Datei 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-Ordner des Projekts erstellt.
.jpeg)
Schritt 2: Konfigurieren der externen Anwendung in Microsoft Dynamics 365.
In diesem Schritt erstellen Sie ein gehostetes Steuerelement des Typs Externe gehostete Anwendung, um die Windows-Formularanwendung anzuzueigen.
Melden Sie sich bei Microsoft Dynamics 365 an.
Klicken oder tippen Sie auf der Navigationsleiste auf Microsoft Dynamics 365, und wählen Sie dann Einstellungen.
Klicken oder tippen Sie auf Einstellungen > Unified Service Desk > Gehostete Steuerelemente.
Klicken Sie auf Neu.
Geben Sie auf der Seite Neues gehostetes Steuerelement die folgenden Werte an:
Feld
Wert
Name
QsExternalApp
USD-Komponente
Gehostete CCA-Anwendung
Gehostete Anwendung
Externe gehostete Anwendung
Anwendung ist global
Markiert
Anzeigegruppe
MainPanel
Adapter
Keinen Adapter verwenden
Anwendung ist dynamisch
Nein
Externe App-URI
Microsoft.Uii.QuickStarts.QsExternalApp.exe
.jpeg)
.jpeg)
Klicken Sie auf Speichern.
Schritt 3: Testen der externen Anwendung
Kopieren Sie die Anwendung aus Ihrem Visual Studio-Projektausgangsordner (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren wir die Microsoft.Uii.QuickStarts.QsExternalApp.exefile-Datei in das C:\Program Files\Microsoft Dynamics CRM USD\USD-Verzeichnis.
Führen Sie den Unified Service Desk-Client aus, um eine Verbindung zu Ihrem Microsoft Dynamics 365-Server herzustellen.
Bei erfolgreicher Anmeldung wird auf dem Desktop die Schaltfläche Externe Beispiele-Webanwendung angezeigt.
Wählen Sie Externe Beispiel-Anwendung, um zu sehen, wie die externe Anwendung in Unified Service Desk gehostet wird.
.jpeg)
Hinweis
Zu diesem Zeitpunkt sind die Felder leer, da Sie die Anwendung nur in Unified Service Desk hosten. Um die Liste mit Werten aus Unified Service Desk aufzufüllen, müsen Sie einen Anwendungsadapter erstellen, wie im nächsten Schritt beschrieben.
Schritt 4: Erstellen des Anwendungsadapters
Starten Sie Microsoft Visual Studio und erstellen Sie ein neues Projekt.
Im Dialogfeld Neues Projekt:
Erweitern Sie in der Liste der installierten Vorlagen, erweitern Sie Visual C#, und wählen Sie Dynamics 365 SDK-Vorlagen > Unified Service Desk > UII-Anwendungs-Adapter
Geben Sie den Namen und den Speicherort des Projekts an, und klicken Sie auf OK, um ein neues Projekt zu erstellen.
.jpeg)
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 NotifyContextChange.
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 aus der Außerkraftsetzungsdefinition DoAction, um die Formularfelder mit Werten aus 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 in Dynamics 365
Melden Sie sich bei Microsoft Dynamics 365 an.
Klicken Sie auf der Navigationsleiste auf Microsoft Dynamics 365, und wählen Sie dann Einstellungen.
Klicken Sie auf Einstellungen > Unified Service Desk > Gehostete Steuerelemente.
Wählen Sie in der Liste der gehosteten Steuerelemente das gehostete Steuerelement QsExternalApp.
.jpeg)
Geben Sie im Abschnitt Adapterkonfiguration die folgenden Werte an:
Feld
Wert
Adapter
Adapter verwenden
URI
ExternalApplicationAdapter
Typ
ExternalApplicationAdapter.AppAdapter
.jpeg)
Hinweis
URI ist der Name Ihrer Assembly, und der Typ ist der Name Ihrer Assembly (dll), gefolgt von einem Punkt (.) und anschließend der Klassenname in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name des Assemblys ExternalApplicationAdapter und Name der Klasse ist AppAdapter; dies ist der Standardklassenname, wenn Sie einen Anwendungsadapter erstellen.
Klicken Sie zum Speichern der Änderungen auf Speichern.
Schritt 5: Testen des Anwendungsadapters
Kopieren Sie die Assembly, die die definition des Webanwendungsadapter enthält, aus Ihrem Visual Studio-Projektausgangsordner (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren wir die ExternalApplicationAdapter.dll-Datei in das c:\Program Files\Microsoft Dynamics CRM USD\USD-Verzeichnis.
Führen Sie den Unified Service Desk-Client aus, um eine verbindung mit dem Microsoft Dynamics 365-Server herzustellen.
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.
.jpeg)
Klicken Sie auf Externe Beispiel-Anwendung, und Sie sehen, dass Vorname, Nachname, Adresse und ID des Kunden ausgefüllt sind.
.jpeg)
Hinweis
Diese Vorgehensweise zeigt, wie Daten aus Unified Service Desk in der externen Webanwendung gelesen oder angezeigt werden. Um zu verstehen, wie die Daten in Unified Service Desk aus der externen Webanwendung aktualisiert werden und umgekehrt, siehe Exemplarische Vorgehensweise: Erstellen eines UII Windows Forms gehosteten Steuerelement
Siehe auch
Verwenden von UII-Adaptern, um mit externem und Webanwendungen zu interagieren
Unified Service Desk 2.0
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright