Gennemgang: Oprette et UII-webprogramkort
Udgivet: november 2016
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Hvis du vil forbedre og ændre webprogrammer, hvor du ikke har adgang til kildekoden, eller som du ikke har tilladelse til at ændre ved hjælp af administreret kode, indeholder en Microsoft Dynamics 365 en Microsoft Visual Studio skabelon til oprettelse af et webprogramkort. Skabelonen indeholder grundlæggende kode som kommentarer, der kan hjælpe dig i gang med at oprette programkortet.
I denne gennemgang skal du bygge et eksternt webprogram, QsWebApplication, som Unified Service Desk skal være vært for. Du skal derefter oprette og konfigurere et webprogramkort, MyWebApplicationAdapter, så det eksterne webprogram kan kommunikere med Unified Service Desk. Webprogrammet har fire etiketter, én til kundens fornavn, efternavn, adresse og id og fire tilsvarende tekstfelter, som kan vise Unified Service Desk-værdier.
Dette emne indeholder
Forudsætninger
Trin 1: Byg et eksempelwebprogram
Trin 2: Konfigurer webprogrammet i Dynamics 365
Trin 3: Test webprogrammet
Trin 4: Opret webprogramkortet
Trin 5: Konfigurer webprogramkortet i Dynamics 365
Trin 6: Test webprogramkortet
Forudsætninger
Microsoft .NET Framework 4.5.2
Unified Service Desk-klientprogram. Bruges til at teste det tilknyttede kontrolelement.
Microsoft Visual Studio 2012, Visual Studio 2013 eller Visual Studio 2015
NuGet Package Manager for Visual Studio 2012, Visual Studio 2013 eller Visual Studio 2015
Microsoft Dynamics 365-SDK-skabeloner til Visual Studio, der indeholder UII-projektskabelonen for det tilknyttede kontrolelement. Du kan få den på en af følgende måder:
Download CRM SDK-skabeloner. Dobbeltklik på CRMSDKTemplates.vsix filen for at installere skabelonen i Visual Studio.
Download og udpak CRM SDK-pakken. Gå til mappen SDK\Templates. Dobbeltklik på CRMSDKTemplates.vsix filen for at installere skabelonen i Visual Studio.
Trin 1: Byg et eksempelwebprogram
Dobbeltklik på pakkefilen for at pakke indholdet ud.
Gå til mappen <ExtractedFolder>\UII\SampleCode\UII\AIF\QsWebApplication, og åbn filen Microsoft.Uii.QuickStarts.QsWebApplication.csproj i Visual Studio.
Tryk på F5, eller vælg Debug > Start Debugging for at placere eksempelwebprogrammet lokalt på din computer. Programmet skal hostes på https://localhost:2627/.
Trin 2: Konfigurer webprogrammet i Dynamics 365
Log på Microsoft Dynamics 365.
Gå til Indstillinger > Unified Service Desk.
Vælg Tilknyttede kontrolelementer.
Vælg Ny.
På siden Nyt tilknyttet kontrolelement skal du angive følgende værdier.
Felt
Værdi
Navn
QsWebApplication
USD-komponenttype
CCA-hostet program
Hostet program
Hostet webprogram
Programmet er globalt
Markeret
Visningsgruppe
MainPanel
Kort
Brug ikke kort
Programmet er dynamisk
Nej
Programvært
Brug SetParent
URL-adresse
Angiv den placering, der er vært for dit webprogram. I vores tilfælde er det https://localhost:2627/
Vælg Gem.
Trin 3: Test webprogrammet
Sørg for, at det stadig et eksempelwebprogrammet, som du oprettede i trin 1, der kører.
Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.
Når du har logget på, kan du se knappen Eksternt eksempelwebprogram på skrivebordet.
Klik på fanen Eksternt eksempelwebprogram for at se dit webprogram placeret i Unified Service Desk.
Bemærkning |
---|
På dette tidspunkt er felterne tomme, fordi du kun har placeret det eksterne webprogram i Unified Service Desk. For at udfylde dem med værdier fra Unified Service Desk skal vi oprette et webprogramkort som vist i det næste trin. |
Trin 4: Opret webprogramkortet
Start Microsoft Visual Studio, og opret et nyt projekt.
I dialogboksen Nyt projekt:
Fra listen over installerede skabeloner til venstre skal du udvide Visual C# og vælge Dynamics 365 SDK-skabeloner > Unified Service Desk > UII-webprogramkort.
Angiv navnet på og placeringen af projektet, og klik på OK for at oprette et nyt projekt.
Vælg WebAppAdapter.cs, og opdater definitionen af NotifyContextChange med følgende kode for at udfylde tekstfelterne fra kontekstoplysningerne.Flere oplysninger:NotifyContextChange
public override bool NotifyContextChange(Context context) { // Populating text fields from context information. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; if (htmlDoc != null) { IHTMLElementCollection htmlElementCollection = htmlDoc.all; IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", context["firstname"], 0); IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", context["lastname"], 0); IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", context["address1_line1"], 0); IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", context["CustomerID"], 0); } return base.NotifyContextChange(context); }
Føj følgende kode til tilsidesættelsesdefinitionen af DoAction for at opdatere programmet med værdier fra Unified Service Desk
public override bool DoAction(HostedWebApplication.WebAction action, ref string data) { Trace.WriteLine(string.Format("{0}>>>>> RECEIVED (WebAction) Action : {1} ", this.Name, action.Name)); // Check to see if the browser is working on something before allowing the system to do 'normal' behavior. if (Browser.WebBrowser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE) { // Browser is not in a state to process this request, Queue it for when the browser is ready to handle it. Trace.WriteLine(string.Format("{0}>>>>> Browser Busy,({2}) Queuing Action : {1} ", this.Name, action.Name, Browser.WebBrowser.ReadyState.ToString())); qReqActionList.Enqueue(new BrowserActionData(action, data)); return false; } Trace.WriteLine(string.Format("{0}>>>>>>>>>>> Action:Name={1} Action:Url={2} Action:Query={3} Action:Init={4}", this.Name, action.Name, action.Url, action.QueryString, action.Initialization)); // Get browser DOM and element collection. // Create an XML Document to load the passed in data to. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; IHTMLElementCollection htmlElementCollection = htmlDoc.all; // Check action name for something we know how to process. switch (action.Name) { case "UpdateFirstName": IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", data, 0); break; case "UpdateLastName": IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", data, 0); break; case "UpdateAddress": IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", data, 0); break; case "UpdateID": IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", data, 0); break; } return false; }
Gem projektet, og byg det (Build > Build Solution). Når projektet et bygget, genereres en assembly (MyWebApplicationAdapter.dll) i mappen \bin\debug i projektmappen. Du skal bruge denne assembly senere til test og brug af dit webprogramkort.
Trin 5: Konfigurer webprogramkortet i Dynamics 365
Log på Microsoft Dynamics 365.
Vælg Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.
Vælg Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.
På listen over tilknyttede kontrolelementer skal du vælge det tilknyttede QsWebApplication-kontrolelement.
I afsnittet Kortkonfiguration skal du angive følgende værdier:
Felt
Værdi
Kort
Brug kort
URI
MyWebApplicationAdapter
Type
MyWebApplicationAdapter.WebAppAdapter
Bemærkning URI er navnet på assemblyfilen, og Type er navnet på din assembly (dll) efterfulgt af et punktum (.) og derefter navnet på klassen i dit Visual Studio-projekt. I dette eksempel er navnet på assemblyen MyWebApplicationAdapter, og navnet på klassen er WebAdapter, som er standardklassenavnet, når du opretter et webprogramkort.
Vælg Save (Gem) for at gemme ændringerne.
Trin 6: Test webprogramkortet
Kopier den assembly, der indeholder din webprogramkortdefinition fra dit Visual Studio-projekts outputmappe (<ProjectFolder>\bin\debug), til Unified Service Desk-programmappen. I dette tilfælde skal du kopiere filen MyWebApplicationAdapter.dll til mappen c:\Program Files\Microsoft Dynamics CRM USD\USD.
Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.
Når du har logget på, kan du se knappen for det eksterne eksempelwebprogram på skrivebordet.
Vælg Search og vælg derefter Contacts og vælg en kontakt. I dette tilfælde skal du vælger vi Patrick Sands.
Klik på Sample External Web Application, og du vil se kundens fornavn, efternavn, adresse og id udfyldt.
Bemærkning |
---|
Denne gennemgang har vist, hvordan du læser eller får vist data fra Unified Service Desk i det eksterne webprogram. For at opdatere dataene i Unified Service Desk fra det eksterne webprogram og omvendt, skal du se Gennemgang: Oprette et tilknyttede UII Windows Forms-kontrolelement |
Se også
Bruge UII-kort til kommunikation med eksterne programmer og webprogrammer
Unified Service Desk 2.0
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret