Parhaat käytännöt ja ohjeet laajennusten ja työnkulkujen kehittämiseen Common Data ServicessaBest practices and guidance regarding plug-in and workflow development for the Common Data Service

Tässä alla olevassa luettelossa on kaikki ohjeet ja parhaat käytännöt, jotka liittyvät laajennuksen ja työnkulun kehittämiseen Common Data Servicessa.This list below contains all of the guidance and best practices regarding the plug-in and workflow development within the Common Data Service.

Paras käytäntöBest Practice KuvausDescription
Vältä eräpyyntötyyppien käyttämistä laajennuksissa ja työnkulun toimissaAvoid usage of batch request types in plug-ins and workflow activities Sinun ei kannata käyttää ExecuteMultipleRequest- tai ExecuteTransactionRequest-viestipyyntöluokkia laajennuksen tai työnkulkutoiminnan yhteydessä.You shouldn't use ExecuteMultipleRequest or ExecuteTransactionRequest message request classes within the context of a plug-in or workflow activity.
Kehitä IPlugin-toteutukset tilattomiksiDevelop IPlugin implementations as stateless Niiden luokkien jäsenet, jotka toteuttavat IPluginin, altistuvat mahdollisille säikeen turvallisuusongelmille, mikä voi johtaa tietojen epäyhtenäisyyteen tai suorituskykyongelmiin.Members of classes that implement IPlugin are exposed to potential thread-safety issues which could lead to data inconsistency or performance problems.
Älä tee kaksoiskappaletta laajennusvaiheen rekisteröinnistäDo not duplicate plug-in step registration Laajennuksen vaiheen rekisteröinnin kaksoiskappale saa laajennuksen käynnistymään useita kertoja samassa viestissä tai tapahtumassa.Duplicate plug-in step registration will cause the plug-in to fire multiple times on the same message/event.
Sisällytä suodatusmääritteet laajennuksen rekisteröintiinInclude filtering attributes with plug-in registration Jos suodatusmääritteitä ei ole määritetty laajennusrekisteröintivaiheessa, laajennus suoritetaan aina, kun tapahtumassa esiintyy päivityssanoma.If no filtering attributes are set for a plug-in registration step, then the plug-in will execute every time an update message occurs for that event.
Rajoita laajennusten rekisteröintejä Retrieve- ja RetrieveMultiple-sanomilleLimit the registration of plug-ins for Retrieve and RetrieveMultiple messages Synkronisen laajennuksen logiikan lisääminen Retrieve- ja RetrieveMultiple-viestitapahtumiin voi hidastaa järjestelmää.Adding synchronous plug-in logic to the Retrieve and RetrieveMultiple message events can cause slowness.
Optimoi mukautetun kokoonpanon kehitysOptimize custom assembly development Harkitse erillisten laajennusten tai mukautettujen työnkulkuaktiviteettien yhdistämistä yhdeksi mukautetuksi kokoonpanoksi. Se parantaa suorituskykyä ja ylläpidettävyyttä. Siirrä laajennukset tai mukautetut työnkulkuaktiviteetit useaan mukautettuun kokoonpanoon, jos kokoonpanon koko on lähellä eristyksen kokoonpanon kokorajoitusta.Consider merging separate plug-ins/custom workflow activities into a single custom assembly to improve performance and maintainability and move plug-ins/custom workflow activities into multiple custom assemblies if an assembly size is near the sandbox assembly size constraints.
Määritä KeepAlive-asetukseksi false, kun käytetään ulkoisia isäntiä laajennuksessaSet KeepAlive to false when interacting with external hosts in a plug-in Jos KeepAlive-ominaisuuden arvoksi on määritetty tosi HTTP-pyyntöotsikossa tai sitä ei ole eksplisiittisesti määritetty epätodeksi, laajennusten suoritusaika voi pidentyä.KeepAlive property set to true in the HTTP request header or not explicitly defined as false can cause increased execution times of plug-ins.
Käytä InvalidPluginExecutionException-kohdetta laajennuksissa ja työnkulkutoimissaUse InvalidPluginExecutionException in plug-ins and workflow activities Käytä InvalidPluginExecutionException-määritettä, kun keräät virheitä laajennuksen tai työnkulun toiminnan yhteydessä.Use InvalidPluginExecutionException when raising errors within the context of a plug-in or workflow activity.

Katso myösSee Also

Koodia käyttävän liiketoimintalogiikan käyttäminenApply business logic using code
Liiketoimintaprosessien laajentaminen laajennusten avullaUse plug-ins to extend business processes
Työnkulun laajennuksetWorkflow extensions