Del via


Vælge udviklingsstilen for administreret kode

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Microsoft Dynamics CRM SDK indeholder en lang række metoder og teknologier, du kan bruge til at få adgang til Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015-webtjenesterne eller til at udvide programmet, når du skriver kode. I denne vejledning er der fokus på nogle værktøjer og metoder, du kan bruge til at udføre forskellige kodningsopgaver. Du får desuden retningslinjer for, hvornår de skal bruges.

Dette emne indeholder

Godkende ved hjælp af kode

Opret og implementer plug-ins eller brugerdefinerede arbejdsprocesaktiviteter

Opret og implementer XAML-arbejdsprocesser

Objektprogrammering (tidligt bundet vs. sent bundet vs. udviklerudvidelser)

Forespørgsel (Fetch vs. QueryExpressions vs. LINQ vs. Developer Extensions)

Godkende ved hjælp af kode

I følgende tabel vises de muligheder, du har for at skrive kode, der godkender den kaldende funktion, med en installation af Microsoft Dynamics 365 i det lokale miljø, installation med adgang via internettet (IFD) eller onlineinstallationer.

Klasser

Beskrivelse og brug

Flere oplysninger

Hjælpekode

Klasserne i eksempelkoden viser, hvordan du opretter forbindelse til webtjenester og godkender brugeren. Du kan bruge hjælpekoden som grundlag for din egen brugerdefinerede kode til godkendelse.

Denne kode er nem at bruge og understøtter alle installationstyper i Microsoft Dynamics 365. Den understøtter også lagring af brugernes adgangskoder i Windows Legitimationsstyring til senere brug.

Fuld kildekode findes, så du kan kopiere og tilpasse den efter dine behov. Dette er anbefalet praksis at isolere dine programmer mod ændringer af denne hjælpekode i fremtidige udgivelser.

Eksempel: Startvejledning til Microsoft Dynamics CRM

Brug eksempel- og hjælpekoden

Hjælpekode: ServerConnection-klasse

Denne kode finder du i filerne SampleCode\CS\HelperCode\CrmServiceHelpers.cs og SampleCode\VB\HelperCode\CrmServiceHelpers.vb i SDK'en. Hent SDK-pakken til Microsoft Dynamics CRM.

Udviklerudvidelser

Hensigten med disse assemblyer er at forenkle og fremskynde udviklingen af programmer, der interagerer med Microsoft Dynamics 365. Udvidelserne udvider kernefunktionaliteten i Microsoft Dynamics CRM SDK, særligt i forbindelse med brugen af klassen OrganizationServiceContext.

Hvis du vil have en nem metode, som gør det hårde arbejde for dig i et par kodelinjer, skal du bruge klassen CrmConnection.

Denne kode er nem at bruge og understøtter alle installationstyper i Microsoft Dynamics 365.

Udviklerudvidelser til Microsoft Dynamics CRM 2015

Forenklet forbindelse til Microsoft Dynamics CRM 2015

Xrm-klient

vancerede udviklere, der har brug for at tilpasse administrationen af WCF (Windows Communication Foundation)-servicekanalen og godkendelsesprocessen, kan bruge klasserne IServiceManagement<TService> og OrganizationServiceProxy i Microsoft.Xrm.Sdk.Client-navneområdet.

Når disse klasser bruges direkte, kan det give en bedre forbindelse og gennemførelse af godkendelsen samt større fleksibilitet. De kræver dog mere avanceret kendskab til WCF-tjenestekanalen og servergodkendelse. Desuden skal du skrive mere kode for at håndtere alle Microsoft Dynamics 365-installationstyperne.

Active Directory og kravsbaseret godkendelse

Eksempel: Godkende brugere med Microsoft Dynamics CRM-webtjenester

Forøg ydeevnen for servicekanal-allokering

XRM-værktøj

Disse assemblyer udnytter Dynamics 365 API'erne til nem godkendelsesunderstøttelse med færre kodelinjer og via Windows PowerShell-cmdlets. Alle funktionskald i disse klasser giver trådsikkerhed for handlinger, der udføres i Dynamics 365 i et flertrådet miljø. Det giver en fælles logonstyring med integreret godkendelseslogik og mulighed for at gemme og genbruge godkendelsesoplysningerne sikkert for at sikre en ensartet og problemfri logonoplevelse til Dynamics 365 fra Windows-klientprogrammer.

Disse klasser indeholder også indbygget diagnosticeringssporing for at støtte fejlfinding og ydeevnerapportering for handlingskaldene fra dine Windows-klientprogrammer.

Disse klasser understøtter alle Microsoft Dynamics 365-installationstyper og godkendelsestyper, undtagen OAuth.

Opbygge Windows-klientprogrammer ved hjælp af XRM-værktøjerne

Brug XRM-værktøjer for at oprette forbindelse til CRM

Brug PowerShell cmdlets for XRM-værktøjer til at oprette forbindelse til CRM

Eksempel: Hurtig start af XRM-værktøjs-API'er

Opret og implementer plug-ins eller brugerdefinerede arbejdsprocesaktiviteter

I følgende tabel vises de indstillinger, du har valgt for skrivning og implementering af plug-ins og brugerdefinerede arbejdsprocesaktiviteter.

Værktøj

Beskrivelse og brug

Flere oplysninger

Klasser for plug-ins og brugerdefinerede arbejdsprocesaktiviteter

Plug-in-registreringsværktøj

Med klasser for plug-ins og brugerdefinerede arbejdsprocesaktiviteter kan du oprette hændelseshandlere for at udføre brugerdefineret forretningslogik, som du kan integrere med Microsoft Dynamics 365 for at ændre eller udvide platformens standardfunktionsmåde.

Når du bruger disse klasser direkte, vil din kode ikke indeholde den hjælpekode, der findes i Developer Toolkit.

Hvis du skriver plug-ins og brugerdefinerede arbejdsprocesaktiviteter fra bunden, skal du bruge værktøjet til registrering af plug-ins til at registrere dem. Dette værktøj indeholder en grafisk brugergrænseflade og understøtter registrering af plug-ins og brugerdefinerede arbejdsprocesaktiviteter i Microsoft Dynamics 365.

Brug denne metode, hvis du:

Forstår, hvordan du skal bruge plug-in- og brugerdefinerede aktivitetsklasser.

Vil ikke have, at ekstra bibliotekskode autogenereres og placeres i dine kodefiler.

Ikke har noget imod at bruge et eksternt værktøj og webprogrammet til at registrere og pakke samlinger af brugerdefineret kode.

Plug-in-udvikling

Brugerdefinerede arbejdsprocesaktiviteter (arbejdsprocesassemblies)

Registrere og installere plug-ins

Gennemgang: Registrere en plug-in ved hjælp af værktøjet til registrering af plug-in

Opret og implementer XAML-arbejdsprocesser

I følgende tabel vises de muligheder, du har for at skrive og implementere XAML-arbejdsprocesser.

Værktøj

Beskrivelse og brug

Flere oplysninger

Microsoft Visual Studio Workflow Designer

Microsoft Dynamics 365 i det lokale miljø og IFD understøtter muligheden for at oprette brugerdefinerede XAML-arbejdsprocesser. Ved hjælp af Microsoft Visual Studio Workflow Designer kan du oprette brugerdefinerede XAML-arbejdsprocesser, også kaldet beskrivende arbejdsprocesser, ved at trække arbejdsprocesaktiviteter fra værktøjskassen til designområdet, oprette variabler og angive egenskaber for disse aktiviteter til gennemførelse af arbejdsprocessens funktionalitet. Du kan bruge indbyggede Windows Workflow Foundation-aktiviteter eller de procesaktiviteter, der er specifikke for Microsoft Dynamics 365.

Brug denne metode, når du kun vil skrive brugerdefinerede XAML-arbejdsprocesser.

Brugerdefinerede XAML-arbejdsprocesser

Skriv arbejdsprocesser til automatisering af forretningsprocesser

Objektprogrammering (tidligt bundet vs. sent bundet vs. udviklerudvidelser)

I følgende tabel vises de muligheder, du har for at skrive kode, der bruger objekter i Microsoft Dynamics 365.

Klasse

Beskrivelse og brug

Flere oplysninger

Tidligt bundet

<optional namespace>.Account, <optional namespace>.Contact og så videre

Værktøjet til oprettelse af kode (CrmSvcUtil) opretter tidligt bundne objektklasser, der er afledt af klassen Entity, som du kan bruge til at få adgang til forretningsdata i Microsoft Dynamics 365. Disse klasser omfatter én klasse for hvert objekt i installationen, herunder brugerdefinerede objekter.

Brug denne metode, når du vil have kompileren til at kontrollere typereferencer under kompileringen. Attributter og relationer er også inkluderet i den oprettede klasse, så de har IntelliSense-understøttelse af objekt-, attribut- og relationsnavne. Brug af stærke typer er generelt den foretrukne metode og bruges i fleste eksempler i SDK-dokumentationen.

Der er visse ulemper ved denne fremgangsmåde:

Klasser skal regenereres, hver gang objekter tilpasses, for at kunne udnytte skemaændringer.

Serialiseringsomkostninger øger, når objekterne konverteres til sent bundne typer under overførsel via netværket.

Brug de tidligt bundne objektklasser i kode

Opret klasser for tidligt bundne objekter med værktøjet til oprettelse af kode (CrmSvcUtil.exe)

Sent bundet

Microsoft.Xrm.Entity

Klassen Entity indeholder det logiske navn på et objekt og en egenskabsbeholdermatrix for objektets attributter. Derfor kan du bruge sen binding, så du kan arbejde med typer som f.eks. brugerdefinerede objekter og brugerdefinerede attributter, der ikke fandtes, da programmet blev kompileret.

En anden fordel ved dette er, at der er mindre serialisering, fordi objektdata overføres via et netværk, hvilket betyder højere ydeevne.

Der er visse ulemper ved denne fremgangsmåde:

Typer skal udtrykkeligt angives for at forhindre implicitte konverteringer (casts).

Det er sværere at isolere effekten af ændringer i skemaet, fordi navne på ressourcer, som f.eks. objekter og attributter, er hard-codede.

Du kommer lettere til at lave stavefejl under kodningen, fordi attributnavnene er hard-codede strenge.

Brug den sent bundne objektklasse i kode

Udviklerudvidelser

Microsoft.Xrm.Client.CrmEntity

Klassen CrmEntity er afledt af klassen Entity. Ud over at give de samme funktioner som i klassen Entity tilføjer CrmEntity nye get og set-udvidelsesmetoder til at forenkle almindelige kodningsopgaver og to nye egenskabsændringshændelser.

Udviklerudvidelser til Microsoft Dynamics CRM 2015

Tidligt bundet, som bruger udvidelser til kodeoprettelsesværktøjet

<optional namespace>.Account, <optional namespace>.Account og så videre

Ved hjælp af Developer Extensions-versionen af CrmSvcUtil-værktøjet kan du oprette tidligt bundne typer, der er afledt af klassen CrmEntity. Brug dette, når du vil drage fordel af andre funktioner i Developer Extensions.

Oprette kode med udvidelserne til kodeoprettelsesværktøjet (Dynamics CRM 2015)

Knytte objekter til konteksten (Dynamics CRM 2015)

Udviklerudvidelser til Microsoft Dynamics CRM 2015

Forespørgsel (Fetch vs. QueryExpressions vs. LINQ vs. Developer Extensions)

I følgende tabel vises de muligheder, du har for at oprette forespørgsler, som du kan bruge til at hente poster fra databasen Microsoft Dynamics 365.

Forespørgselstype

Beskrivelse og brug

Flere oplysninger

FetchXML

Dette er et brugerdefineret XML-baseret forespørgselssprog, der understøtter alle funktionerne i QueryExpression plus aggregater og gruppering. Fetch-forespørgsler kan returnere poster for flere objekter. Forespørgsler kan desuden serialiseres og gemmes i databasen. Dette bruges til at gemme en forespørgsel som en brugerejet gemt visning i objektet UserQuery og som en organisationsejet gemt visning i objektet SavedQuery.

Brug dette forespørgselssprog, når du har brug for understøttelse til aggregater og gruppering, eller du vil gemme forespørgslen.

Oprette forespørgsler med FetchXML

QueryExpression

Et forespørgselsudtryk bruges til at søge efter poster for en enkelt objekttype. Forespørgsler er bygget som en objektmodel. Denne klasse understøtter alle funktionerne i FetchXML med undtagelse af aggregater og gruppering. Den understøtter også programmeringsformer for både tidligt og sent bundne objekter.

Oprette forespørgsler med QueryExpression

LINQ

Forespørgsler oprettes ved hjælp af standardsprog, men bruger internt .NET-sprogintegreret forespørgsel (LINQ)QueryExpression, så er begrænset til funktionerne i QueryExpression.LINQ understøtter også programmeringsformer for både tidligt og sent bundne objekter.

Opret forespørgsler med LINQ (.NET-sprogintegreret forespørgsel)

Se også

Udvikleroversigt
Selvstudier om udvikling for Microsoft Dynamics CRM 2015
Skriv program- og serverudvidelser
Programmeringsmodellerne til Microsoft Dynamics CRM 2015

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret