Del via


Silverlight-webressourcer (XAP )

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Vigtigt

Microsoft Silverlight-webressourcer forbliver understøttet i Microsoft Dynamics 365 (online og i det lokale miljø) for bagudkompatibilitet. For komponenter, der vil kunne forelægges på alle klienter, anbefales det at bruge HTML-webressourcer med HTML5 i stedet for Silverlight.

HTML5 er den foretrukne klientteknologi til internettet via web-plug-ins som Silverlight og Flash. HTML5 kan bruges fra enhver enhed (pc, tablet, smartphone og flere) og er stærkt afhængig af JavaScript (og mange effektive JavaScript-biblioteker, som jQuery) og CSS.

Microsoft Dynamics 365 (online og i det lokale miljø) understøtter tilføjelse af Silverlight 4.0-webressourcer i objektformularer. Du kan få vist Silverlight 5.0-webressourcer inden for en HTML-webressource ved hjælp af et <object>-element, der fungerer som vært, og som er konfigureret til den pågældende version.

Bemærk

  • Microsoft Silverlight-webressourcer kan ikke ses i 64-bit-versionen af Microsoft Office Outlook.

  • Hvis du vil have vist en Silverlight-webressource uden for en objektformular eller et objektdiagram, skal du oprette en HTML-webressource, som skal være værtssiden for Silverlight-webressourcen. Brug derefter $webresource: -direktivet til at åbne HTML-webressourcen.

Dette emne indeholder

Oprettelse af Silverlight-webressourcer

Adgang til kontekstspecifikke data

Overføre data fra en formular til en integreret Silverlight-webressource

Oprettelse og test af Silverlight-webressourcer

Fejlfinding af Silverlight-webressourcer

Oprettelse af Silverlight-webressourcer

Silverlight-webressourcer oprettes nemt ved hjælp af webressourceformularen ved at angive et navn, et vist navn, ved at vælge Silverlight (XAP) som type og overfører filen .xap. Webressourcen skal offentliggøres, før du kan bruge den. Men da Silverlight-webressourcer typisk indeholder en vis interaktion med kontekstspecifikke data i Microsoft Dynamics 365, skal du planlægge, hvordan du opretter webressourcer.

Adgang til kontekstspecifikke data

Når du bruger knappen Eksempel i webressourceformularen eller bare går til den angivne URL, er Silverlight-programmet vært i en generisk HTML-side uden kontekstspecifikke oplysninger. Hvis dit Silverlight-program ikke kræver kontekstspecifikke oplysninger, kan du bruge denne URL til at få vist din Silverlight-webressource.

Hvis du har brug for kontekstspecifikke oplysninger, skal du enten:

  1. Tilføje din Silverlight-webressource til en objektformular.

  2. Se din Silverlight-webressource ved hjælp af en HTML-webressource, der er konfigureret til at levere kontekstspecifikke oplysninger.

Hvis din Silverlight-webressource er udviklet til at blive vist i en objektformular, har formularen et Xrm.Page.context-objekt, du kan bruge til at få adgang til kontekstspecifikke oplysninger. Du kan finde flere oplysninger under Klientsidekontekst (klientsidereference)

Hvis du har brug for, at dit Silverlight-program skal vises uden for konteksten af formularen, skal du konfigurere en HTML-webressource til at levere disse kontekstspecifikke oplysninger ved at tilføje en henvisning til siden ClientGlobalContext.js.aspx. Når denne reference er tilføjet, kan dit Silverlight-program få adgang til kontekstspecifikke oplysninger på samme måde, som det kan i en objektformular. Følgende eksempel viser, hvordan du kan kalde funktionen getClientUrl fra objektet Xrm.Page.context.

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");

Overføre data fra en formular til en integreret Silverlight-webressource

Når du tilføjer en Silverlight-webressource til en formular, kan du vælge indstillingen Postobjekttypekoden og det entydige id skal overføres som parametre. Du har også mulighed for at indtaste tekst som en brugerdefineret parameter.

Disse værdier er overført til Silverlight-kontrolelementet InitParams, en ordbog med nøgle-/ værdipar.

De overførte værdier er beskrevet i nedenstående tabel.

Nøgle

Beskrivelse

id

Det entydige id for posten.

type

Objekttypekode. Dette kan variere mellem organisationer for brugerdefinerede objekter.

navn på type

Det logiske navn på objektet.

orgname

Navnet på organisationen.

userlcid

Den sprogkode, der repræsenterer brugerens foretrukne sprog.

orglcid

Den sprogkode, der repræsenterer organisationens udgangssprog.

-data

Værdien af den tekst, der er angivet som en brugerdefineret parameter.

Disse værdier kan opnås på kørselstidspunktet ved hjælp af syntaksen i følgende eksempel:

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

Oprettelse og test af Silverlight-webressourcer

Hvis din Silverlight-webressource er uafhængig af enhver form for kontekstspecifikke data fra Microsoft Dynamics 365, kan du skrive og teste dit Silverlight-program, som du normalt ville. Når du har oprettet en ny webressource ved at overføre din .xap-fil, kan du teste den ved hjælp af knappen Eksempel i webressourceformularen, når du har gemt og udgivet webressourcen.

Det er mere sandsynligt, at dit Silverlight-program har kontekstspecifikke dataafhængigheder, der ikke kan simuleres helt uden for Microsoft Dynamics 365.

Processen med oprettelse af en Silverlight-webressource, der indeholder formularen eller kontekstafhængigheder, er som følger:

  1. Opret dit Silverlight-programprojekt.

    Du skal vælge for at oprette et webprogram til projektet.

  2. Skriv og test så meget af programmet, som du kan, uden at kræve kontekstspecifikke data fra Microsoft Dynamics 365.

  3. Opret webressourcer ved at overføre filerne .xap og .htm som Silverlight- og HTML-ressourcer på internettet.

  4. Skriv kode i dit Silverlight-programprojekt.

  5. Byg dit Silverlight-programprojekt.

  6. Overfør den indbyggede version af filen .xap fra webprogramprojektets mappe ClientBin for at opdatere den Silverlight-webressource, du oprettede i trin 3.

  7. Test din Silverlight-webressource ved enten at:

    • Se den ved hjælp af knappen Eksempel på den HTML-webressource, der er vært, og som du har oprettet.

    • Få vist den i forbindelse med en objektformular, som du har føjet den til.

      Brug denne indstilling, hvis dit Silverlight-program har afhængigheder på formularelementer eller kontekstspecifikke oplysninger.

  8. Gentag trin 4 til 7, indtil du er færdig.

Bemærk

Når du vil have vist en Silverlight-webressource uden for en objektformular, for eksempel i programmets hovedramme ved at redigere oversigten, skal du angive en websides (HTML) webressource, der skal fungere som vært for Silverlight-webressourcen.

Vigtigt

Rediger aldrig HTML-kildekoden som en side, der er vært for en Silverlight-webressource, ved hjælp af den teksteditor, der er angivet i programmet. Teksteditoren ændrer HTML og ødelægger definitionen af det <object>-element, der er nødvendig for at være vært for SilverlightXAP-webressourcen. Du kan finde flere oplysninger under bba8645a-a725-4c4d-a393-bab8ca692482#BKMK_UsingTextEditor.

Hvis du skal bruge teksteditoren, skal du udelade data="data:application/x-silverlight-2,"-parameteren i <object>-elementet. Selvom dette bør forhindre ødelæggelse af Silverlight-webressourcen, kan teksteditoren stadig indføre andre uønskede ændringer.

Fejlfinding af Silverlight-webressourcer

Silverlight-webressourcer, der er ikke er afhængige af kontekstspecifikke data fra Microsoft Dynamics 365, kan fejlfindes i Microsoft Visual Studio. Men hvis Silverlight-webressourcerne kræver kontekstspecifikke data til at udføre funktionerne, skal du bruge en anden fremgangsmåde.

  1. Byg dit Silverlight-program.

  2. Overfør den indbyggede version af filen .xap fra webprogramprojektets mappe ClientBin.

  3. Vis dit Silverlight-program i den kontekst, som det er udviklet til at blive brugt i.

  4. I dit Silverlight-programprojekt skal du fra menuen Visual Studio vælge Debug og derefter Attach To Process.

  5. I dialogboksen Attach to Process skal du finde processen iexplore.exe, hvor kolonneværdien Type er Silverlight, x 86.

  6. Vælg denne proces, og tryk på Attach for at lukke dialogboksen og starte fejlfindingen.

  7. I dit Silverlight-programprojekt skal du angive et pausepunkt.

  8. Opdater browservinduet, eller udfør i Silverlight-programmet den handling, du har brug for til at teste din kode.

Se også

Opret tilgængelige webressourcer
Webressourcer til Microsoft Dynamics 365
Webressourcer for webside (HTML)
CSS-webressourcer
Webressourcer for script (JScript)
Datawebressourcer (XML)
JPG-, PNG-, GIF- og ICO-webressourcer (billeder)
XSL-webressourcer (typografiark)

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret