Silverlight (XAP)-Webressourcen

Wichtig

Microsoft Silverlight Web-Ressourcen sind in Dynamics 365 for Customer Engagement-Apps Version 9.0 veraltet. HTML5 ist die bevorzugte Clienttechnologie für das Web, vor Web-Plug-Ins wie Silverlight und Flash. HTML5 kann von jedem beliebigen Gerät (PC, Tablet, Smartphone usw.) verbraucht werden und verwendet JavaScript (und viele JavaScript-Bibliotheken wie jQuery) und CSS in großem Maße.

Microsoft Silverlight-Webressourcen werden in Dynamics 365 for Customer Engagement weiterhin nur für die Abwärtskompatibilität in der Webanwendung unterstützt. Microsoft Silverlight wird nicht für die einheitliche Benutzeroberfläche funktionieren. Für Komponenten, die auf allen Clients dargestellt werden können, empfehlen wir die Verwendung von HTML-Webressourcen mit HTML5 anstelle von Silverlight.

Dynamics 365 for Customer Engagement unterstützt das Hinzufügen von Silverlight 4.0 Web-Ressourcen zu Formularen für Entitäten. Sie können Silverlight 5.0-Webressourcen in einer HTML-Webressource unter Verwendung eines hostenden <object>-Elements anzeigen, das für diese Version konfiguriert ist.

Notiz

  • Microsoft Silverlight-Webressourcen können in der 64-Bit-Version von Office Outlook nicht angezeigt werden.
    • Erstellen Sie zum Anzeigen einer Silverlight-Webressource außerhalb eines Entitätsformulars oder Diagramms eine HTML-Webressource als Hostseite für die Silverlight-Webressource. Verwenden Sie dann die Richtlinie $webresource:, um die HTML-Webressource zu öffnen.

Erstellen von Silverlight-Webressourcen

Silverlight Web-Ressourcen lassen sich ganz einfach über das Formular für Web-Ressourcen erstellen. Geben Sie dazu einen Namen und einen Anzeigenamen ein, wählen Sie als Typ Silverlight (XAP) und laden Sie die .xap-Datei hoch. Die Webressource muss veröffentlicht werden, bevor Sie sie verwenden können. Da Silverlight-Webressourcen jedoch in der Regel Interaktion mit kontextbezogenen Daten in Dynamics 365 Customer Engagement (on-premises) bieten, sollten Sie planen, wie Sie Ihre Webressourcen erstellen.

Zugreifen auf Kontextdaten

Wenn Sie die Schaltfläche Vorschau im Formular für die Webressourcen verwenden oder einfach nur die angegebene URL aufrufen, wird die Silverlight-Anwendung in einer generischen HTML-Seite ohne Kontextinformationen gehostet. Wenn Ihre Silverlight Anwendung keine kontextbezogenen Informationen benötigt, können Sie diese URL verwenden, um Ihre Silverlight Web-Ressource anzuzeigen.

Sollten Sie kontextbezogene Informationen benötigen, müssen Sie eine der folgenden Aktionen ausführen:

  1. Fügen Sie Ihre Silverlight Web-Ressource zu einem Formular für Entitäten hinzu.

  2. Betrachten Sie Ihre Silverlight-Webressource mit einer HTML-Webressource, die so konfiguriert ist, dass sie Kontextinformationen liefert.

    Wenn Ihre Silverlight Web-Ressource für die Anzeige in einem Formular für Entitäten konzipiert ist, verfügt das Formular über ein Xrm.Page.context-Objekt, das Sie für den Zugriff auf Kontextinformationen verwenden können. Weitere Informationen finden Sie unter Clientseitiger Kontext (clientseitiger Verweis)

    Wenn Ihre Silverlight-Anwendung außerhalb des Kontexts des Formulars erscheinen soll, müssen Sie eine HTML-Webressource konfigurieren, die diese Kontextinformationen bereitstellt, indem Sie einen Verweis auf die Seite ClientGlobalContext.js.aspx.md#BKMK_ClientGlobalContext_js_aspx) hinzufügen. Nachdem dieser Verweis hinzugefügt wurde, kann Ihre Silverlight-Anwendung auf kontextbezogene Informationen genauso zugreifen wie in einem Formular für Entitäten. Das folgende Beispiel zeigt, wie Sie die getClientUrl-Funktion aufrufen.

private string clientUrl = "";  
ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");  
ScriptObject page = (ScriptObject)xrm.GetProperty("Page");  
ScriptObject pageContext = (ScriptObject)page.GetProperty("context");  
clientUrl = (string)pageContext.Invoke("getClientUrl");  

Übergeben von Daten aus einem Formular an eine eingebettete Silverlight-Webressource

Wenn Sie eine Silverlight Web-Ressource zu einem Formular hinzufügen, können Sie die Option Datensatz Objekttyp-Code und eindeutige Kennung als Parameter übergeben wählen. Sie haben auch die Möglichkeit, Text als benutzerdefinierten Parameter einzugeben.

Diese Werte werden dem Silverlight Steuerelement als InitParams, einem Wörterbuch mit Schlüssel/Wertpaaren, übergeben.

Die übergebenen Werte sind in der folgenden Tabelle aufgeführt.

Schlüssel Beschreibung
id Der eindeutige Bezeichner des Datensatzes.
typ Der Entitätstypcode. Bei benutzerdefinierten Entitäten kann dies zwischen den Organisationen variieren.
typename Der logische Name der Entität.
orgname Der Name der Organisation.
userlcid Der Sprachcode, der die Spracheinstellung des Benutzers darstellt.
orglcid Der Sprachcode, der die Ausgangssprache der Organisation darstellt.
-Daten Der Wert des Texts, der als benutzerdefinierter Parameter eingegeben wurde.

Auf diese Werte kann mithilfe der im folgenden Beispiel aufgeführten Syntax während der Laufzeit zugegriffen werden:

string entityTypeName = App.Current.Host.InitParams["typename"];  

Schreiben und Testen von Silverlight-Webressourcen

Wenn Ihre Silverlight-Webressource unabhängig von kontextbezogenen Daten von Dynamics 365 Customer Engagement (on-premises) ist, können Sie die Silverlight-Anwendung so schreiben und testen, wie Sie es üblicherweise tun würden. Nachdem Sie eine neue Webressource erstellt haben, indem Sie die .xap-Datei hochgeladen haben, können Sie diese testen, indem Sie die Schaltfläche Vorschau im Webressourcenformular verwenden, nachdem Sie die Webressource gespeichert und veröffentlicht haben.

Es ist jedoch wahrscheinlicher, dass die Silverlight-Anwendung über kontextbezogene Datenabhängigkeiten verfügt, die außerhalb von Dynamics 365 Customer Engagement (on-premises) nicht vollständig simuliert werden können.

So erstellen Sie eine Silverlight-Webressource, die Formular- oder Kontextabhängigkeiten enthält:

  1. Erstellen Sie Ihr Silverlight-Anwendungsprojekt.

    Sie sollten auswählen, eine Webanwendung mit Ihrem Projekt zu erstellen.

  2. Schreiben und testen Sie möglichst viel der Anwendung, wie ohne kontextbezogene Daten von Dynamics 365 Customer Engagement (on-premises) möglich ist.

  3. Erstellen Sie Webressourcen, indem Sie die .xap- und .htm-Dateien als Silverlight- und HTML-Webressourcen hochladen.

  4. Schreiben Sie Code in Ihrem Silverlight-Anwendungsprojekt.

  5. Erstellen Sie Ihr Silverlight-Anwendungsprojekt.

  6. Laden Sie die erstellte Version der .xap-Datei aus dem Ordner ClientBin des Webanwendungsprojekts hoch, um die in Schritt 3 erstellte Silverlight-Webressource zu aktualisieren.

  7. Testen Sie Ihre Silverlight Web-Ressource, indem Sie entweder:

    • Zeigen Sie sie mithilfe der Vorschau-Schaltfläche der HTML-Webressource an, die Sie erstellt haben.

    • Zeigen Sie sie im Kontext eines Entitätsformulars an, zu dem Sie diese hinzugefügt haben.

      Verwenden Sie diese Option, wenn Ihre Silverlight-Anwendung von Formularelementen oder Kontextinformationen abhängt.

  8. Wiederholen Sie die Schritte 4–7, bis Sie fertig sind.

Notiz

Wenn Sie eine Silverlight-Webressource außerhalb eines Formulars für eine Entität anzeigen möchten, z.B. im Hauptrahmen der Anwendung, indem Sie die Site-Map bearbeiten, müssen Sie eine Webseite (HTML)-Webressource bereitstellen, die als Host für die Silverlight-Webressource dient.

Wichtig

Bearbeiten Sie niemals den HTML-Quellcode für eine Seite, die eine Silverlight-Webressource gehostet hat, mit dem in der Anwendung enthaltenen Texteditor. Der Texteditor ändert die Definition des HTML-Elements und bricht das <object>-Element, das zum Hosten der SilverlightXAP-Webressource erforderlich ist. Weitere Informationen finden Sie unter Verwenden des Text-Editor für HTML Web-Ressourcen.

Wenn den Texteditor verwenden müssen, lassen Sie den Parameter data="data:application/x-silverlight-2," im Element <object> aus. Obwohl dies verhindern sollte, dass die Silverlight-Webressource beschädigt wird, kann der Texteditor dennoch andere unerwünschte Änderungen vornehmen.

Debuggen von Silverlight-Webressourcen

Silverlight-Webressourcen, die sich nicht auf kontextbezogene Daten von Dynamics 365 Customer Engagement (on-premises) stützen, können in Visual Studio debuggt werden. Wenn die Silverlight-Webressource jedoch kontextbezogene Daten benötigt, um die Funktionen auszuführen, müssen Sie ein anderes Verfahren verwenden.

  1. Erstellen Sie Ihre Silverlight-Anwendung.

  2. Laden Sie die Version der .xap-Datei aus dem Webanwendungsprojektordner ClientBin hoch.

  3. Betrachten Sie Ihre Silverlight-Anwendung in dem Kontext, in dem sie verwendet werden soll.

  4. Wählen Sie in Ihrem Silverlight-Anwendungsprojekt aus dem Menü Visual Studio die Option Debug und dann Anhängen an Verarbeitung.

  5. Suchen Sie im Dialogfeld An den Prozess anhängen den Prozess iexplore.exe, in dem der Typ-Spaltenwert Silverlight, x86 ist.

  6. Wählen Sie diesen Vorgang aus und drücken Sie Anfügen, um das Dialogfeld zu schließen und das Debuggen zu starten.

  7. Legen Sie in Ihrem Silverlight-Anwendungsprojekt einen Haltepunkt fest.

  8. Aktualisieren Sie das Browserfenster oder führen Sie in der Silverlight-Anwendung die Aktion aus, die Sie zum Testen Ihres Codes benötigen.

Siehe auch

Erstellen von barrierefreien Webressourcen
Webressourcen für Dynamics 365 Customer Engagement (on-premises)
Verwenden von Webseite (HTML)-Webressourcen
Verwenden von Stylesheet(CSS)-Webressourcen
Verwenden von Webressourcen für Skripts (JScript)
Verwenden von Daten (XML)-Webressourcen
Verwenden von Bild (JPG, PNG, GIF, ICO)-Webressourcen
Verwenden von Stylesheet (XSL)-Webressourcen