Parandage lahenduse jõudlust, stabiilsust ja töökindlust
Lahendusi kasutatakse objektide, näiteks rakenduste, tabelite, voogude, veebiressursside ja pistikprogrammide levitamiseks Power Platform . Selles artiklis tutvustatakse lahendusekontrolli funktsiooni, mis on võimas tööriist, mis teostab teie lahenduseobjektide põhjaliku staatilise analüüsi parimate tavade reeglite kogumi alusel. Lahendusekontrolli abil saate kiiresti tuvastada komponentides probleemsed mustrid ja saada üksikasjalikke aruandeid, mis tõstavad esile probleemid, mõjutatud komponendid ja pakuvad linke dokumentatsioonile iga probleemi lahendamise kohta. See tagab, et teie lahendused on optimeeritud jõudluse, stabiilsuse ja töökindluse jaoks.
Lahendusekontrollija toimib mittehallatavate lahendustega, mida võib eksportida mistahes keskkonnast.
Lahendusekontrolli saate käivitada kas alates Power Apps (make.powerapps.com) või kasutades PowerShelli.
Kuidas lahendusekontroll teid aitab?
Keerukate ärinõuete täitmiseks võivad tegijad sageli jõuda kõrgelt arenenud lahendusteni, mis kohandavad ja laiendavad Power Platform. Täiustatud juurutustega kaasneb suurem risk, mis võib kaasa tuua jõudluse, stabiilsuse ja usaldusväärsuse probleeme, mis võivad lõppkasutaja kogemust negatiivselt mõjutada. Nende probleemide tuvastamine ja mõistmine, kuidas neid lahendada, võib olla keeruline ja aeganõudev. Lahendusekontrolli funktsiooniga saate mõne sekundi jooksul kontrollida oma lahendust, mis kasutab probleemsete mustrite kiireks tuvastamiseks parimate tavade reegleid. Pärast kontrolli lõpuleviimist saate nii meilisõnumis Power Apps kui ka meilisõnumis üksikasjaliku aruande, milles on loetletud tuvastatud probleemid, mõjutatud komponendid ja kood ning lingid dokumentatsioonile, mis kirjeldab iga probleemi lahendamist.
Lahendusekontrollija analüüsib neid lahenduste komponente.
- Dataverse’i kohandatud töövootegevused
- Dataverse’i veebiressursid (HTML ja JavaScript)
- Dataverse’i konfiguratsioonid, nt SDK teate etapid
- Power Automate Vood (voolukontrolli kaudu)
- Power Fx avaldised (rakenduse kontrollija kaudu)
Märkus
- Lahendusekontrollija toetab ECMAScript 2015 (ES6) globaalseid muutujaid ja kuni ECMAScript 2018 (ES9) süntaksit. Kui tuvastatakse, et JavaScript kasutab hilisemaid globaalseid muutujaid kui ES6 või hilisemat süntaksit kui ES9, siis antakse veebiressursi veebitoeta süntaksti veateade.
- Lahendusekontrolli kasutamine ei garanteeri, et lahenduse importimine õnnestub. Lahenduse suhtes tehtud staatilise analüüsi kontrollid ei tea sihtkeskkonna konfigureeritud olekut ja importimise edukus võib sõltuda teistest keskkonna lahendustest või konfiguratsioonidest.
Lahendusekontrollija käivitamine
Logige sisse rakendusse Power Apps.
Valige vasakult paanilt Lahendused. Kui üksust pole külgpaneeli paanil, valige ...Rohkem ja seejärel valige soovitud üksus.
Mittehallatavate lahenduste kõrval, mida soovite analüüsida, valige ..., osutage lahendusekontrollijale ja seejärel valige Käivita.
Käsunupul Lahendusekontrollija on laadimisnäidik ja te märkate, et töötab... olek Lahenduste loendis Lahendusekontrolli veerus.
Märkus
- Lahendusekontrollijal võib analüüsi lõpuleviimine võtta mõni minut aega.
- Pärast kontrolli lõpulejõudmist saate meiliteatise, samuti kuvatakse teatis Power Appsi jaotises Teatised.
- Kui kontroll on lõpule viidud, vaadake aruannet.
Kontrolli tühistamine
Pärast oma keskkonda lahenduse kontrolli sisestamist saab kontrolli Lahenduste lehe parempoolse ülaääre olekupaanilt tühistada.
Kui kontrolli tühistate, lõpetab lahendusekontrollija töö ja lahenduse kontrolli oleks läheb tagasi eelmisesse olekusse.
Lahendusekontrollija olekud
Kui oma keskkonnas lahendusekontrollija installimist, leiate loendist Lahendused veeru Lahendusekontrollija. Selles veerus kuvatakse lahenduse jaoks lahenduse analüüsi olekut.
Osariik | Kirjeldus |
---|---|
Pole käivitatud | Lahendust ei ole kunagi analüüsitud. |
Töötab | Lahendust analüüsitakse. |
Ei saanud lõpuni viia | Lahenduse analüüsi taotleti, kuid analüüsi ei õnnestunud edukalt lõpuni viia. |
Tulemused kui kuupäev ja kellaaeg | Lahenduse analüüs on lõpule viidud ja tulemused on allalaadimiseks saadaval. |
Ei saanud lõpuni viia. Tulemus kui kuupäev ja kellaaeg | Viimast analüüsi taotlust ei viidud edukalt lõpuni. Viimased edukad tulemused saab alla laadida. |
Kontrollis Microsoft | See on Microsofti hallatav lahendus. Lahenduse analüüs ei ole nende lahenduste korral lubatud. |
Kontrollis Publisher | See on mitte-Microsofti hallatav lahendus. Praegu ei ole lahenduse analüüs nende lahenduste jaoks saadaval. |
Lahendusekontrollija aruande läbivaatamine
Kui lahenduse kontrollimine on lõpetatud, saate analüüsiaruannet portaalis vaadata või selle oma veebibrauserist alla laadida. Portaalis saate tulemusi sortida probleemi , asukoha või raskusastme järgi ja vaadata lahenduses tuvastatud probleemide üksikasjalikku teavet.
Valige vasakult paanilt Lahendused. Kui üksust pole külgpaneeli paanil, valige ...Rohkem ja seejärel valige soovitud üksus.
Valige ... selle mittehallatava lahenduse kõrval, kuhu soovite lahendusekontrollija aruande kuvada, osutage suvandile Lahendusekontrollija ja seejärel valige Kuva tulemused.
Valige probleem, et vaadata selle lahendamise üksikasju ja juhiseid.
Lahendusekontrollija tulemused on saadaval ka allalaadimiseks. Lahendusekontrollija zip fail laetakse teie veebibrauseri määratud kausta. Alla laadimise aruanne on vormingus Excel ja sisaldab mitmeid visualiseeringuid ja veerge, mis aitavad teil tuvastada iga teie lahenduses tuvastatud probleemi mõju, tüüpi ja asukohta. Antud on ka viide probleemi lahendamise üksikasjalikule juhisele.
- Valige vasakult paanilt Lahendused. Kui üksust pole külgpaneeli paanil, valige ...Rohkem ja seejärel valige soovitud üksus.
- Valige ... selle mittehallatava lahenduse kõrval, kuhu soovite lahendusekontrollija aruande laadida, osutage Lahendusekontrollijale ja seejärel valige Laadi tulemuse alla.
- Lahendusekontrollija zip fail laetakse teie veebibrauseri määratud kausta.
Siin on aruande iga veeru kokkuvõte.
Aruande veerg | Kirjeldus | Kehtib komponendile |
---|---|---|
Probleem | Lahenduses tuvastatud probleemi pealkiri. | Kõik |
Kategooria | Tuvastatud probleemi kategoriseerimine, nt jõudlus, hooldatavus, kasutamine, toetatavus, disain , turvalisus, juurdepääsetavus või versioonitäiendusvalmidus. | Kõik |
Raskusaste | Esindab tuvastatud probleemi potentsiaalset mõju. Saadaolevad mõjutüübid on kriitilised , kõrged , keskmised , madalad ja informatiivsed ·. | Kõik |
Juhiseid | Viide probleemi üksikasjalikult selgitavale artiklile ja soovitatavale toimingule. | Kõik |
Komponent | Lahenduse komponent, kus probleem tuvastati. | Kõik |
Location | Selle komponendi, kus probleem tuvastati, asukoht ja/või lähtefail, näiteks assembleri või JavaScripti faili nimi. | Kõik |
Rida nr | Mõjutatud veebiressursi komponendi probleemi rea numbri viide. | Veebiressursid |
Moodul | Selle mooduli nimi, kus tuvastati assembleri probleem. | Kohandatud töövootegevus |
Tüüp | Assembleris tuvastatud probleemi tüüp. | Kohandatud töövootegevus |
Liige | Assembleris tuvastatud probleemi liige. | Kohandatud töövootegevus |
Väljavõte | Probleemi põhjustanud koodi väljavõte või konfiguratsioon. | Kõik |
Kommentaarid | Probleemi üksikasjad, mis sisaldavad kõrgtasemel lahenduse etappe. | Kõik |
Lahenduse kontrollija reeglite käitamine kohalikult
Lahenduse kontrollija reegleid saate käivitada arenduskeskkonnas, et tuvastada lahenduse ressursside loomisel palju erksaid probleeme. Seda toetatakse praegu veebiressursside puhul (JavaScript ja TypeScript). Lisateabe saamiseks minge NPM-i paketti @microsoft/eslint-plugin-power-apps.
Lahendusekontrolli käivitamine PowerShelli abil
Saadaval on PowerShelli moodul, mida saate kasutada teenusega otse suhtlemiseks. Moodulit Microsoft.PowerApps.Checker.PowerShell saab kasutada haldamata lahenduste analüüsimiseks Power Apps keskkondade jaoks või teenuse automatiseerimiseks ning järgu- ja väljalaskekonveieritesse integreerimiseks. Lisateave: Microsoft.PowerApps. Checker.PowerShelli ülevaade
Lahendusekontrollija kasutatavad hea tava reeglid.
Järgmises tabelis on loetletud komponendi tüüp, reegli kirjeldus, raskusaste ja kategooria. Kriitilised rikkumised blokeeritakse või neid hoiatatakse, kui need on konfigureeritud lahendusekontrollija jõustamiseks hallatavad keskkonnad abil. Lisateave: Lahendusekontrolli kasutamine hallatavad keskkonnad
Lahenduse komponent | Reegli nimi | Reegli kirjeldus | Raskusaste | Kategooria |
---|---|---|---|---|
Lisandmoodul või töövootegevus | meta-remove-dup-reg | Vältige Dataverse’i korduvate lisandmoodulite registreerimist. | Kriitiline | Jõudlus |
Lisandmoodul või töövootegevus | meta-avoid-reg-no-attribute | Kaasake Dataverse’i lisandmoodulite registreerimisel filtreerimisatribuudid. | Keskmine | Jõudlus |
Lisandmoodul või töövootegevus | meta-avoid-reg-retrieve | Olge ettevaatlik Dataverse’i lisandmoodulitega, mis on registreeritud sõnumite toomiseks atribuutidega Retrieve ja RetrieveMultiple. | Keskmine | Jõudlus |
Lisandmoodul või töövootegevus | meta-remove-inactive | Passiivsete konfiguratsioonide eemaldamine Dataverse’is. | Väike | Hooldatavus |
Lisandmoodul või töövootegevus | meta-avoid-crm4-event | Mitte kasutada Microsoft Dynamics CRM 4.0 lisandmooduli registreerimise etappi. | Keskmine | Uuenda valmisolekut |
Lisandmoodul või töövootegevus | meta-avoid-retrievemultiple-annotation | Vältida lisandmooduli registreerimist marginaali RetrieveMultiple’il. | Suur | Kasutus |
Mudelipõhine rakendus | meta-litsentsi-müügi-olemi-toimingud | Lahendus sisaldab piiratud SDK-sõnumite ja toimingutega olemeid, mis nõuavad kehtivat Dynamics 365-i litsentsi. | Väike | Litsentsimine |
Mudelipõhine rakendus | meta-litsents-fieldservice-customcontrols | Lahendus sisaldab kohandatud juhtelemente, mis nõuavad kehtivat Dynamics 365 Field Service litsentsi. | Väike | Litsentsimine |
Mudelipõhine rakendus | meta-litsents-väliteenus-olem-operatsioonid | Lahendus sisaldab olemeid, millel on piiratud SDK-sõnumid ja toimingud, mis nõuavad kehtivat Dynamics 365 Field Service litsentsi. | Väike | Litsentsimine |
Veebiressursid | use-async | Suhelda HTTP ja HTTPS-i ressurssidega asünkroonselt. | Kriitiline | Jõudlus |
Veebiressursid | avoid-modals | Vältida modaaldialoogide kasutamist. | Suur | Toetatavus |
Veebiressursid | avoid-dom-form | Suur | Toetatavus | |
Veebiressursid | avoid-dom-form-event | Suur | Toetatavus | |
Veebiressursid | avoid-crm2011-service-odata | Mitte sihtida Microsoft Dynamics CRM 2011 OData 2.0 lõpp-punkti. | Kriitiline | Uuenda valmisolekut |
Veebiressursid | avoid-crm2011-service-soap | Mitte sihtida Microsoft Dynamics CRM 2011 SOAP teenuseid. | Kriitiline | Uuenda valmisolekut |
Veebiressursid | Vältige laadimist | Ärge kasutage loadTheme Fluent v8 API-t. |
Väike | Toetatavus |
Veebiressursid | avoid-browser-specific-api | Mitte kasutada Internet Exploreri pärand-API-sid või brauseri lisandmooduleid. | Kriitiline | Uuenda valmisolekut |
Veebiressursid | avoid-unpub-api | Suur | Toetatavus | |
Veebiressursid | avoid-window-top | Suur | Toetatavus | |
Veebiressursid | avoid-2011-api | Mitte kasutada kasutuselt kõrvaldatud Microsoft Dynamics CRM 2011 objektimudeleid. Selle asemel jälgige Dataverse Web API dokumentatsiooni. | Suur | Uuenda valmisolekut |
Veebiressursid | use-relative-uri | Mitte kasutada absoluutseid Dataverse’i lõpp-punkti URL-e. | Keskmine | Hooldatavus |
Veebiressursid | use-cached-webresource | Keskmine | Jõudlus | |
Veebiressursid | use-client-context | Kasutada kliendikontekste. | Keskmine | Uuenda valmisolekut |
Veebiressursid | use-navigation-api | Kasutage navigeerimise API parameetreid. | Keskmine | Uuenda valmisolekut |
Veebiressursid | use-offline | Keskmine | Uuenda valmisolekut | |
Veebiressursid | do-not-make-parent-assumption | Suur | Kujundus | |
Veebiressursid | use-org-setting | Kasutada organisatsiooni sätted. | Keskmine | Uuenda valmisolekut |
Veebiressursid | use-global-context | Keskmine | Uuenda valmisolekut | |
Veebiressursid | use-grid-api | Kasutada võrgu API-sid. | Keskmine | Uuenda valmisolekut |
Veebiressursid | use-utility-dialogs | Keskmine | Kasutus | |
Veebiressursid | avoid-isActivityType | Asendada Xrm.Utility.isActivityType meetod uue Xrm.Utility.gettableetadataga ja mitte kasutada lindireeglite korral. | Keskmine | Uuenda valmisolekut |
Veebiressursid | meta-avoid-silverlight | Silverlighti (XAP) veebiressursside kasutamine on aegunud. | Keskmine | Uuenda valmisolekut |
Veebiressursid | eemaldada-silumisskript | Vältige silumisskripti lisamist mittearenduskeskkondadesse. | Keskmine | Kasutus |
Veebiressursid | kasuta-range-režiim | Kasutada võimaluse korral ranget režiimi. | Keskmine | Kasutus |
Veebiressursid | kasuta-ranged-võrdsuse-operaatorid | Kasutada rangeid võrdusmärke. | Keskmine | Kasutus |
Veebiressursid | välti-eval | Ärge kasutage eval funktsiooni ega selle funktsionaalseid ekvivalente. |
Kriitiline | Turve |
Veebiressursid | Vältige koos | Ärge kasutage tehtemärki "koos". | Suur | Jõudlus |
Veebiressursid | eemalda-hoiatus | Ärge kasutage funktsiooni 'alert' ega sellega võrdväärseid funktsioone. | Keskmine | Kasutus |
Veebiressursid | eemalda konsool | Vältige meetodite kasutamist konsoolis. | Keskmine | Kasutus |
Veebiressursid | avoid-ui-refreshribbon | Vältige refreshRibbon vormi koormuse kasutamist ja EnableRule. | Kriitiline | Jõudlus |
Veebiressursid | use-getsecurityroleprivilegesinfo | Vältige userSettings.securityRolePrivileges. Kasutage selle asemel atribuuti userSettings.getSecurityRolePrivilegesInfo. | Suur | Jõudlus |
Veebiressursid | use-appsidepane-api | Kasutage Xrm.App.sidePanes.createPane asemel Xrm.Panels.loadPanel. | Keskmine | Uuenda valmisolekut |
Veebiressursid | web-sdl-no-cookies | HTTP-küpsised on vana kliendipoolne salvestusmehhanism, millel on omad riskid ja piirangud. Kasutage selle asemel veebisalvestusruumi, IndexedDB-d või muid kaasaegseid meetodeid. | Keskmine | Turve |
Veebiressursid | web-sdl-no-document-domain | Atribuut kirjutab saidile document.domain tuleb üle vaadata, et vältida sama päritolu kontrollidest möödahiilimist. Tippdomeenide nagu azurewebsites.net kasutamine on rangelt keelatud. | Keskmine | Turve |
Veebiressursid | web-sdl-no-document-write | Kõned document.write või document.writeln manipuleerivad DOM-iga otse ilma desinfitseerimiseta ja neid tuleks vältida. Kasutage selle asemel document.createElement() või sarnaseid meetodeid. | Keskmine | Turve |
Veebiressursid | web-sdl-no-html-meetod | Otsekõned meetodile html() manipuleerivad sageli (näiteks jQuery raamistikus) DOM-iga ilma desinfitseerimiseta ja neid tuleks vältida. Kasutage selle asemel document.createElement() või sarnaseid meetodeid. | Keskmine | Turve |
Veebiressursid | web-sdl-no-inner-html | InnerHTML-i või outerHTML-i atribuutidele määramised manipuleerivad DOM-iga otse ilma desinfitseerimiseta ja neid tuleks vältida. Kasutage selle asemel document.createElement() või sarnaseid meetodeid. | Keskmine | Turve |
Veebiressursid | web-sdl-no-insecure-url | Ebaturvalised protokollid, nagu HTTP või FTP, tuleks asendada krüptitud ekvivalentidega (HTTPS, FTPS), et vältida potentsiaalselt delikaatsete andmete saatmist ebausaldusväärse võrgu kaudu lihttekstina. | Keskmine | Turve |
Veebiressursid | web-sdl-no-msapp-exec-ebaturvaline | Kutsed skripti MSApp.execUnsafeLocalFunction() mööduvad skripti injektsiooni valideerimisest ja neid tuleks vältida. | Keskmine | Turve |
Veebiressursid | web-sdl-no-postmessage-star-origin | Esitage käsuga postMessage andmete teise aknasse saatmisel alati konkreetne sihtpäritolu, mitte *, et vältida andmete lekkimist väljapoole usalduspiiri. | Keskmine | Turve |
Veebiressursid | web-sdl-no-winjs-html-unsafe | Kõned WinJS.Utilities.setInnerHTMLUnsafe() ja sarnastele meetoditele ei teosta sisendi valideerimist ja neid tuleks vältida. Kasutage selle asemel WinJS.Utilities.setInnerHTML(). | Keskmine | Turve |
Lõuendirakendus | app-formula-issues-high | Lisateabe saamiseks lugege valemiviidet Power Apps . | Kriitiline | Kujundus |
Lõuendirakendus | app-formula-issues-medium | Lisateavet leiate Power Apps valemi viidetest. | Keskmine | Kujundus |
Lõuendirakendus | app-formula-issues-low | Lisateavet leiate Power Apps valemi viidetest. | Väike | Kujundus |
Lõuendirakendus | app-use-delayoutput-text-input | Jõudluse parendamiseks kasutage teatud stsenaariumides viivitusega koormust. | Keskmine | Jõudlus |
Lõuendirakendus | app-reduce-screen-controls | Vähendage rakenduse juhtelementide arvu, et parendada jõudlust. | Keskmine | Jõudlus |
Lõuendirakendus | app-include-accessible-label | Kasutage otseseid silte rakenduse hõlbustusfunktsioonide parendamiseks. | Keskmine | Hõlbustatus |
Lõuendirakendus | app-include-alternative-input | Veenduge, et kõik interaktiivsed elemendid oleksid alternatiivsetele sisenditele juurdepääsetavad. | Keskmine | Hõlbustatus |
Lõuendirakendus | app-avoid-autostart | Vältige rakenduses mängijates automaatset käivutumist. | Keskmine | Hõlbustatus |
Vaata ka
Teenuse Dataverse parimad tavad ja suunised
Mudelipõhiste rakenduste parimad tavad ja suunised
Levinumad probleemid ja lahendused lahendusekontrollija puhul
Märkus
Kas saaksite meile dokumentatsiooniga seotud keele-eelistustest teada anda? Osalege lühikeses uuringus. (Uuring on ingliskeelne.)
Uuringus osalemine võtab umbes seitse minutit. Isikuandmeid ei koguta (privaatsusavaldus).