Del via


Brug af datastyrede kort (DDA'er)

 

Udgivet: november 2016

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

Datastyrede kort (DDA'er) er de adapterkort, der generelt udnyttes af HAT (værtsbaseret programværktøjssæt). Disse kort er generiske assemblies, der kun håndterer interaktionen med brugergrænsefladen og ikke indeholder forretningsprocesser.Unified Service Desk SDK leveres med et DDA, der har et fælles sæt af funktioner, der gør det muligt for dig at være vært for og få adgang til en bred vifte af programmer. Du kan dog behøve ekstra funktioner afhængigt af programtypen. Der er mange forskellige måder for at udvide den eksisterende funktionalitet, f.eks. ved at oprette en ny DDA (og bruge den i en sammensat DDA med eksterne DDA'er) og ved at udvide en eksisterende DDA.

Dette afsnit indeholder

Datastyrede korttyper

Oprettelse af DDA

Udvidelse af et eksisterende DDA

Bindinger

Brug af DDA'er i brugerdefinerede programkort

Datastyrede korttyper

Der findes fire typer DDA'er:

Oprettelse af DDA

Du kan oprette et nyt DDA via simpel arv af DataDrivenAdapterBase-klassen.

Klassen indeholder konstruktøren, der kan blive overbelastet.

Udvidelse af et eksisterende DDA

I det forrige afsnit så vi, hvordan man opretter et DDA. Hvis din tilpasning er navnebaseret, kan du dog bruge det eksisterende DDA og udvide det ud fra kravene.

Du kan bruge følgende klasser til at udvide de eksisterende UII DDA'er:

Alle de foregående klasser er afledt af DataDrivenAdapterBase-klassen.

Bindinger

Et datastyret kort bruger data, såkaldte bindinger, til at definere den måde, som kortet identificerer en brugergrænsefladekomponent i et værtsprogram. Bindingerne kan for eksempel bestå af DOM-stier (Document Object Model), der bruges til at beskrive elementer på en webside. Følgende eksempel viser en programinitialiseringsstreng med et integreret DDA-bindingsundertræ. Dette er et generelt eksempel, men det angiver det mønster, der bruges til at implementere Acc-kontrolelementer i Windows-bindinger.

System_CAPS_noteBemærkning

For at skabe overblik er nogle af konfigurationsparametrene er fjernet.

<initstring>
    <interopAssembly>
      <URL>path to executable</URL>
      <Arguments>test argument</Arguments>
      <WorkingDirectory>c:\</WorkingDirectory>
      <hostInside/>
    </interopAssembly>
<!—- notice there is no custom application adapter specified here-->
    <displayGroup>None</displayGroup>
    <optimumSize x="800" y="600"/>
    <minimumSize x="640" y="480"/>
    <DataDrivenAdapterBindings>
      <Type>typeName, assemblyName</Type>
      <Controls>
        <AccControl name="combobox1">
          <Path>
            <FindWindow>
              <ControlID>1003</ControlID>
            </FindWindow>
          </Path>
        </AccControl>
</Controls>
    </DataDrivenAdapterBindings>
</initstring>

Hvis du bruger HAT Software Factory, oprettes InitString. Programmet kan derefter installeres på serveren fra Software Factory.

Hvis du tilføjer et værtsprogram direkte ved hjælp af administratorbrugergrænsefladen, behøver du ikke oprette hele InitString. Du skal kun angive <DataDrivenAdapterBindings>-sektionen og føje den til fanen Automation Xml.

Brug af DDA'er i brugerdefinerede programkort

Selvom den oprindelige tanke med DDA'er var, at de skulle understøtte automationer i HAT (værtsbaseret programværktøjssæt), kan de også bruges af brugerdefinerede kort til at opnå brugbare resultater. Følgende kodeeksempel, der er taget fra et brugerdefineret kort, illustrerer, hvordan brugerdefinerede kort kan bruge DDA'er, og viser de generelle fordele ved DDA'er. Som eksemplet viser, giver brugen af DDA'er mulighed for at adskille kode og konfigurationsoplysninger.

DataDrivenAdapter Dda;
public overrIDe bool Initialize()
{
   Dda=DataDrivenAdapter.CreateInstance(ApplicationInitString,ApplicationObject);
   return (Dda != null);
}
public overrIDe bool DoAction(Action action, ref string data)
{
if (action.Name == "AddToHistory")
   {
   Dda.ExecuteControlAction("combobox1");
   Dda.SetControlValue("textbox1", data);
   Dda.ExecuteControlAction("button1");
   }
}

DDA-konfigurationen, der er integreret i programmets InitString, er XML, som i følgende eksempel.

<DataDrivenAdapterBindings>
<Type> Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter.WinDataDrivenAdapter, Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter</Type>
  <Controls>
    <AccControl name="combobox1">
      <Path>
        <FindWindow>
          <ControlID>1003</ControlID>
        </FindWindow>
      </Path>
    </AccControl>
    <AccControl name="textbox1">
      <Path>
        <FindWindow>
          <ControlID>1001</ControlID>
        </FindWindow>
      </Path>
    </AccControl>
    <AccControl name="button1">
      <Path>
        <FindWindow>
          <ControlID>1002</ControlID>
        </FindWindow>
      </Path>
    </AccControl>
  </Controls>
</DataDrivenAdapterBindings>

<Type/>-elementet får UII til dynamisk at instantiere den type, der er angivet i type, assemblyformat, så brugerdefinerede DDA'er kan indlæses og bruges.<Controls/>-elementet indeholder en liste over konfigurerede kontrolelementer, der er angivet på den måde, der kræves af det indlæste DDA.

Se også

Arbejde med HAT Software Factory

Unified Service Desk 2.0

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret