Walkthrough: Erstellen eines benutzerdefinierten gehosteten Steuerelements für Unified Service Desk
Diese exemplarische Vorgehensweise demonstriert, wie Sie ein gehostetes Windows Forms User Interface Integration (UII) Steuerelement erstellen können, das mit Unified Service Desk und eigenständigen oder externen Webanwendungen interagiert.
In dieser exemplarischen Vorgehensweise werden Sie Folgendes erfahren:
Erstellen Sie ein User Interface Integration (UII) Windows Forms gehostetes Steuerelement, Beispiel UII Windows Forms gehostetes Steuerelement, das den Vornamen, den Nachnamen, die Adresse und die ID eines Kontakts anzeigt, wenn Sie nach Kontakten suchen, und klicken Sie auf einen Kontaktnamen, um ihn in einer Sitzung in Unified Service Desk zu öffnen. Diese Werte werden aus dem Unified Service Desk-Kontext heraus angezeigt.
Ändern Sie die Werte für Vorname, Nachname oder Adresse in einer externen Anwendung und in einer in Unified Service Desk gehosteten Webanwendung anhand des von uns erstellten gehosteten Steuerelements von UII Windows Forms. Die externe Webanwendungen wurde in früheren exemplarischen Vorgehensweisen erstellt: Exemplarische Vorgehensweise: Erstellen Sie einen UII-Anwendungs-Adapter erstellen und Exemplarische Vorgehensweise: Erstellen Sie einen UII-Webanwendungs-Adapter.
Benachrichtigen Sie Änderungen am Unified Service Desk-Kontext, um die dortigen Werte zu aktualisieren.
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, die mit Projektvorlage für ein UII Windows Forms gehostetes Steuerelement 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.
Sie sollte die Exemplarische Vorgehensweise: Erstellen Sie einen UII-Anwendungs-Adapter und Exemplarische Vorgehensweise: Erstellen Sie einen UII-Webanwendungs-Adapter abgeschlossen haben und dabei sicherstellen, das die Anwendungs- und Webanwendungssetup den Adaptern entsprechen, um Interaktion mit diesen Anwendungen zu vereinfachen.
Schritt 1: Erstellen eines UII Windows Forms-gehosteten Steuerelements mithilfe von Visual Studio
Starten Sie Visual Studio und erstellen Sie ein neues Projekt.
Im Dialogfeld Neues Projekt:
Erweitern Sie in der Liste der installierten Vorlagen auf der linken Seite Visual C#, und wählen Sie CRM SDK-Vorlagen>Unified Service Desk>UII Windows Forms gehostetes Steuerelement aus.
Geben Sie den Namen und den Speicherort des Projekts an, und wählen Sie OK, um ein neues Projekt zu erstellen.
Klicken Sie im Bereich Lösungs-Explorer auf die UiiWinformControl.cs-Datei mit der rechten Maustaste, und wählen Sie Öffnen, um den Windows Forms-Designer anzuzeigen.
Im Designer fügen Sie die folgenden Steuerelemente aus der Toolbox hinzu:
Steuerelementtyp Name Text Bezeichnung lblFirstName Vorname Bezeichnung lblLastName Nachname Bezeichnung lblAddress Postadresse Bezeichnung lblID ID TextBox txtFirstName TextBox txtLastName TextBox txtAddress TextBox txtID Schaltfläche btnUpdate Aktualisieren von Werten in den gehosteten Apps Schaltfläche btnUpdateContext Kontextaktualisierung So sollten die Steuerlemente im Designer entwickelt werden.
Doppelklicken Sie auf die Schaltfläche Updatewerte in den gehosteten Apps (
btnUpdate
), um den Code fürclick
-Ereignis für das Hinzufügen dieser Schaltfläche, und fügen Sie den folgenden Code hinzu.private void btnUpdate_Click(object sender, EventArgs e) { // This is how you fire an action to other hosted applications. // The DoAction() code in the other application or application adapter // will be called. FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateFirstName", txtFirstName.Text)); // For the external application FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateLastName", txtLastName.Text)); // For the external application FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateAddress", txtAddress.Text)); // For the external application FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateFirstName", txtFirstName.Text)); // For the external web application FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateLastName", txtLastName.Text)); // For the external web application FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateAddress", txtAddress.Text)); // For the external web application }
Gehen Sie zur Designansicht, doppelklicken Sie auf die Schaltfläche Kontext aktualisieren (
btnUpdateContext
) um den Code für das Klick-Ereignis für diese Schaltfläche hinzuzufügen. Fügen Sie den folgenden Code hinzu:private void btnUpdateContext_Click(object sender, EventArgs e) { // Get the current context and create a new context object from it. string temp = Context.GetContext(); Context updatedContext = new Context(temp); // Update the new context with the changed information. updatedContext["firstname"] = txtFirstName.Text; updatedContext["lastname"] = txtLastName.Text; updatedContext["address1_line1"] = txtAddress.Text; // Notify Unified Service Desk of this new context information FireChangeContext(new ContextEventArgs(updatedContext)); // Notify this UII hosted control about the change NotifyContextChange(updatedContext); }
Aktualiseren Sie in derselben Datei (UiiWinformControl.cs), de Außerkraftsetzungsdefinition der
NotifyContextChange
-Methode zu dem Folgenden:public override void NotifyContextChange(Context context) { // Populating text fields from context information. txtFirstName.Text = context["firstname"]; txtLastName.Text = context["lastname"]; txtAddress.Text = context["address1_line1"]; txtID.Text = context["CustomerID"]; base.NotifyContextChange(context); }
Speichern Sie das Projekt und bauen Sie es auf (Aufbauen>Lösung aufbauen). Nachdem das Projekt erfolgreich aufgebaut wurde, wird eine Assembly (.dll-Datei) mit demselben Namen wie dem Projektnamen (in diesem Fall UIIWindowsFormHostedConrol1.dll) im /bin/debug-Ordner des Projekts erstellt.
Kopieren Sie diese Datei in das Installationsverzeichnis Ihrer Unified Service Desk Client-Anwendung (in der Regel C:\Program Files\Microsoft Dynamics CRM USD\USD). Diese Datei ist zum Testen und schließlich zum Verwenden dieses Steuerelements von der Client-Anwendung aus erforderlich.
Tipp
Notieren Sie sich den Namen der Klasse, mit der Sie Ihr gehostetes Steuerelement in der Datei UiiWinformControl.cs erstellen. In diesem Fall ist es UiiWinformControl. Sie benötigen diese Informationen im nächsten Schritt.
Schritt 2: Definieren des gehosteten Steuerelements in Unified Service Desk
Um das gehostete Steuerelement von UII Windows Forms in Unified Service Desk zu hosten, müssen Sie es definieren und konfigurieren.
Melden Sie sich bei Unified Service Desk Administrator an.
Gehostete Steuerelemente auswählen.
Wählen Sie + Neu.
Geben Sie auf der Seite Neues gehostetes Steuerelement die folgenden Werte an:
Feld Wert Name UIIWindowsFormHostedControl Anzeigename Gehostetes Beispiel-UII Windows-Formular-Steuerelement USD-Komponententyp Gehostete CCA-Anwendung Gehostete Anwendung Gehostetes Steuerelement Anwendung ist global Ausgewählt Anzeigegruppe MainPanel Adapter Keinen Adapter verwenden Assembly-URI UIIWindowsFormHostedControl1 Assemblytyp UIIWindowsFormHostedControl1.UiiWinformControl Notiz
Assembly-URI ist der Name Ihres Assemblys und Assemblytyp ist der Name Ihres Assemblys, gefolgt von einem Punkt (.) und dann dem Klassennamen in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name der Montage
UIIWindowsFormHostedControl1
und der Name der KlasseUiiWinformControl
. Dies ist der Standardklassenname, wenn Sie ein gehostetes Steuerelement von UII Windows Forms erstellen.Klicken Sie auf Speichern, um das gehostete Steuerelement zu erstellen.
Schritt 3: Definieren von UII-Aktionen für die gehosteten Steuerelemente der externen Anwendung und der Webanwendung in Unified Service Desk
Die Adapter für die eigenständige externe und die Webanwendungen stellen die folgenden drei Aktionen zur Verfügung: UpdateFirstName
, UpdateLastName
und UpdateAddress
. Die externe Webanwendungen wurde in früheren exemplarischen Vorgehensweisen erstellt: (Exemplarische Vorgehensweise: Erstellen Sie einen UII-Anwendungs-Adapter und Exemplarische Vorgehensweise: Erstellen Sie einen UII-Webanwendungs-Adapter).
Um Informationen in den externen Anwendungen von dem gehosteten UII Windows Forms Steuerelement aus zu aktualisieren, müssen Sie drei UII-Aktionen mit demselben Namen definieren, der zuvor in den Adaptern für jede der externen Anwendungen definiert wurde. In den früheren exemplarischen Vorgehensweisen zu den Adaptern (Walkthrough: Erstelle einen UII-Anwendungsadapter und Beispielhafte Vorgehensweise: Erstellen eines UII Web Application Adapters) haben Sie die folgenden beiden gehosteten Steuerelemente in Unified Service Desk definiert, um die externen Anwendungen in Unified Service Desk anzuzeigen: QsExternalApp
und QsExternalWebApplication
. In diesem Schritt fügen Sie drei UII-Aktionen für jedes gehostete Steuerelement hinzu.
Wichtig
Wenn Sie die UII-Aktionen bereits als Teil von Schritt 3 in Beispielhafte Vorgehensweise: Erstellen eines gehosteten UII-WPF-Steuerelements erstellt haben, müssen Sie diesen Schritt nicht noch einmal ausführen. Sie können mit dem nächsten Abschnitt zum Testen des gehosteten Steuerelements übergehen.
Melden Sie sich bei Unified Service Desk Administrator an.
Gehostete Steuerelemente auswählen.
QsExternalApp aus der Liste auswählen.
Wählen Sie die Registerkarte Verknüpft und UII-Aktionen.
Wählen Sie + Neue UII-Aktion aus.
Geben Sie den Namen als UpdateFirstName ein, und wählen Sie Speichern und schließen. Dadurch wird die Aktion in der vorherige Seite hinzugefügt.
Entsprechend fügen Sie die folgenden beiden Aktionen hinzu: UpdateLastName und UpdateAddress. Alle drei Aktionen werden für das gehostete QsExternalApp Steuerelement verfügbar.
Folgen Sie den Schritten 4 bis 7, um drei UII-Aktionen mit denselben Namen für das gehostete Steuerelement QsExternalWebApp zu erstellen.
Testen des gehosteten Steuerelements
Bevor Sie das gehostete Steuerelement UII Windows Forms testen, vergewissern Sie sich, dass Ihre Beispiel-Webanwendung ausgeführt wird, damit sie in Unified Service Desk gerendert wird.
Führen Sie den Unified Service Desk Client aus, um eine Verbindung zu Ihrem Microsoft Dataverse-Server herzustellen.
Bei erfolgreicher Anmeldung sehen Sie drei gehostete Steuerelemente: Windows Forms-gehostetes Steuerlement, Externe Beispiel-Webanwendung und Externe Beispiel-Anwendung.
Wählen Sie Suchen aus, und dann Kontakte. Wählen Sie die Kontakte, die in den Kontaktdetails einer Sitzung anzuzeigen sind. Dies zeigt auch Vorname, Nachname, Postanschrift und ID des derzeit angezeigten Kontaktdatensatzes in allen drei Beispiel-Steuerlementen an, wie in der folgenden Abbildung gezeigt.
Ändern Sie die Werte in Beispiel UII Windows Formular gehostetes Steuerelement, und wählen Sie Werte in den gehosteten Apps aktualisieren, um die Werte in den anderen beiden externen Anwendungen zu aktualisieren.
In Beispiel UII Windows Forms Hosted Control wählen Sie Kontext aktualisieren, um die Kontextinformationen in Unified Service Desk zu aktualisieren.
Siehe auch
Verwenden von UII-gehostetenSteuerelementen
Exemplarische Vorgehensweise: Erstellen eines gehosteten WPF UII-Steuerelements