Del via


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:

Trin 1: Byg et eksempelwebprogram

  1. Download UII SDK-pakken (.exe).

  2. Dobbeltklik på pakkefilen for at pakke indholdet ud.

  3. Gå til mappen <ExtractedFolder>\UII\SampleCode\UII\AIF\QsWebApplication, og åbn filen Microsoft.Uii.QuickStarts.QsWebApplication.csproj i Visual Studio.

  4. Tryk på F5, eller vælg Debug > Start Debugging for at placere eksempelwebprogrammet lokalt på din computer. Programmet skal hostes på https://localhost:2627/.

    Webapp i Visual Studio

Trin 2: Konfigurer webprogrammet i Dynamics 365

  1. Log på Microsoft Dynamics 365.

  2. Gå til Indstillinger > Unified Service Desk.

  3. Vælg Tilknyttede kontrolelementer.

  4. Vælg Ny.

  5. 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/

    Skærmbillede af Web App Config i Dynamics 365

  6. Vælg Gem.

Trin 3: Test webprogrammet

  1. Sørg for, at det stadig et eksempelwebprogrammet, som du oprettede i trin 1, der kører.

  2. Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.

  3. Når du har logget på, kan du se knappen Eksternt eksempelwebprogram på skrivebordet.

  4. Klik på fanen Eksternt eksempelwebprogram for at se dit webprogram placeret i Unified Service Desk.

Hosting af webapp i Unified Service Desk

System_CAPS_noteBemæ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

  1. Start Microsoft Visual Studio, og opret et nyt projekt.

  2. I dialogboksen Nyt projekt:

    1. Fra listen over installerede skabeloner til venstre skal du udvide Visual C# og vælge Dynamics 365 SDK-skabeloner > Unified Service Desk > UII-webprogramkort.

    2. Angiv navnet på og placeringen af projektet, og klik på OK for at oprette et nyt projekt.

      Skærmbillede af webkort i Visual Studio

    3. 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);
              }
      
    4. 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;
              }
      
    5. 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

  1. Log på Microsoft Dynamics 365.

  2. Vælg Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.

  3. Vælg Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.

  4. På listen over tilknyttede kontrolelementer skal du vælge det tilknyttede QsWebApplication-kontrolelement.

    Liste over tilknyttede kontrolelementer i Dynamics 365

  5. I afsnittet Kortkonfiguration skal du angive følgende værdier:

    Felt

    Værdi

    Kort

    Brug kort

    URI

    MyWebApplicationAdapter

    Type

    MyWebApplicationAdapter.WebAppAdapter

    Konfiguration af webkort i Dynamics 365

    System_CAPS_noteBemæ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.

  6. Vælg Save (Gem) for at gemme ændringerne.

Trin 6: Test webprogramkortet

  1. 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.

  2. Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.

  3. Når du har logget på, kan du se knappen for det eksterne eksempelwebprogram på skrivebordet.

  4. Vælg Search og vælg derefter Contacts og vælg en kontakt. I dette tilfælde skal du vælger vi Patrick Sands.

    Skærmbillede af kontaktpersonliste

  5. Klik på Sample External Web Application, og du vil se kundens fornavn, efternavn, adresse og id udfyldt.

    Tester WebApp Adapter-skærmbillede

System_CAPS_noteBemæ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