Data-Driven Adapters (DDA's) gebruiken

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Data-driven adapters (DDA's) zijn de adapters die in het algemeen worden gebruikt door Hosted Application Toolkit (HAT). Deze adapters zijn algemene assembly's die alleen de interactie met de gebruikersinterface afhandelen en geen bedrijfsprocessen bevatten. De Unified Service Desk SDK wordt geleverd met een DDA die een set gemeenschappelijke functies bevat waarmee u allerlei toepassingen kunt hosten en er toegang toe kunt krijgen. U kunt echter, afhankelijk van het type toepassing, aanvullende functionaliteit nodig hebben. Er zijn verschillende manieren om de bestaande functionaliteit uit te breiden, zoals het maken van een nieuwe DDA (en deze gebruiken in een samengestelde DDA met buitenste DDA's) en het uitbreiden van een bestaande DDA.

In deze sectie

Typen DDA's

Een DDA maken

Een bestaande DDA uitbreiden

Bindingen

DDA's gebruiken in aangepaste toepassingadapters

Typen DDA's

Er zijn vier typen DDA's:

Een DDA maken

U kunt een nieuwe DDA maken door eenvoudigweg de klasse DataDrivenAdapterBase over te nemen.

De klasse bevat de constructor die kan worden overbelast.

Een bestaande DDA uitbreiden

In het vorige gedeelte zagen we hoe u een DDA maakt. Als uw aanpassing echter nominaal is, kunt u de bestaande DDA gebruiken en deze uitbreiden.

U kunt de volgende klassen gebruiken om de bestaande UII DDA's uit te breiden:

Alle voorgaande klassen zijn afgeleid van de klasse DataDrivenAdapterBase.

Bindingen

Een DDA gebruikt gegevens, de bindingen genaamd, om te definiëren hoe de DDA een UI-onderdeel van een gehoste toepassing identificeert. De bindingen kunnen bijvoorbeeld bestaan uit DOM-paden (Document Object Model) voor het beschrijven van elementen op een webpagina. Het volgende voorbeeld laat een tekenreeks voor toepassingsinitialisatie zien met een ingesloten substructuur voor DDA-binding. Dit is een algemeen voorbeeld, maar dit geeft het patroon aan dat wordt gebruikt om Acc-besturingselementen te implementeren in Windows-bindingen.

Notitie

Sommige configuratieparameters zijn voor de duidelijkheid verwijderd.

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

Als u de HAT Software Factory gebruikt, wordt de InitString gemaakt. De toepassing kan vervolgens vanaf de software factory op de server worden geïmplementeerd.

Als u rechtstreeks een gehoste toepassing toevoegt met de beheer-UI, hoeft u niet de hele InitString te maken. U hoeft alleen het gedeelte DataDrivenAdapterBindings op te geven en toe te voegen aan het tabblad Automation Xml.

DDA's gebruiken in aangepaste toepassingadapters

Hoewel DDA's oorspronkelijk waren bedoeld voor de ondersteuning van automatiseringen binnen de Hosted Application Toolkit (HAT), kunnen ze ook door aangepaste adapters worden gebruikt om nuttige resultaten te bereiken. De volgende voorbeeldcode, die afkomstig is uit een aangepaste adapter, illustreert hoe aangepaste adapters DDA's kunnen gebruiken en illustreert de algemene voordelen van DDA's. Zoals het voorbeeld illustreert, maakt het gebruik van DDA's een scheiding mogelijk van code en configuratiegegevens.

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

De DDA-configuratie, die is ingesloten in de InitString van de toepassing, is XML, zoals in het volgende voorbeeld.

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

Het <Type/>-element laat UII dynamisch een exemplaar maken van het type dat is opgegeven met de indeling type, assembly, zodat aangepaste DDA's kunnen worden geladen en gebruikt. Het <Controls/>-element bevat de lijst met geconfigureerde besturingselementen, opgegeven op een manier die wordt vereist door de geladen DDA.

Zie ook

Werken met de HAT Software Factory

Unified Service Desk 2.0

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht