Îmbunătățiți performanța, stabilitatea și fiabilitatea soluției
Soluțiile sunt folosite pentru a distribui Power Platform obiecte, cum ar fi aplicații, tabele, fluxuri, resurse web și pluginuri. Acest articol prezintă caracteristica de verificare a soluției, un instrument puternic care realizează o analiză statică cuprinzătoare a obiectelor soluției dvs. în raport cu un set de reguli de bune practici. Utilizând soluția de verificare, puteți identifica rapid modelele problematice din componentele dvs. și puteți primi rapoarte detaliate care evidențiază problemele, componentele afectate și oferă link-uri către documentația despre cum să rezolvați fiecare problemă. Acest lucru asigură că soluțiile dumneavoastră sunt optimizate pentru performanță, stabilitate și fiabilitate.
Verificatorul de soluții funcționează cu soluții negestionate, care pot fi exportate dintr-un mediu.
Puteți rula soluția de verificare fie de pe Power Apps (make.powerapps.com), fie utilizând PowerShell.
Cum vă ajută verificatorul de soluții
Pentru a îndeplini cerințele complexe ale afacerii, producătorii pot ajunge adesea cu soluții foarte avansate care personalizează și extind Power Platform. Odată cu implementările avansate vine și un risc crescut de apariție a problemelor de performanță, stabilitate și fiabilitate, care pot avea un impact negativ asupra experienței utilizatorului. Identificarea și înțelegerea modului de rezolvare a acestor probleme pot fi complicate și pot lua mult timp. Cu funcția de verificare a soluției, puteți efectua o verificare în câteva secunde a soluției dvs., care utilizează un set de reguli de bune practici pentru a identifica rapid modelele problematice. După finalizarea verificării, primiți un raport detaliat în Power Apps și într-un mesaj de e-mail care enumeră problemele identificate, componentele și codul afectat și linkuri către documentația care descrie cum se rezolvă fiecare problemă.
Verificatorul de soluții analizează aceste componente ale soluției:
- Dataverse activități de flux de lucru particularizate
- Dataverse resurse web (HTML și JavaScript)
- Dataverse configurații, precum etape de mesaj SDK
- Power Automate fluxuri (prin verificatorul de flux)
- Power Fx expresii (prin verificatorul aplicației)
Notă
- Verificatorul de soluții acceptă variabile globale ECMAScript 2015 (ES6) și până la sintaxa ECMAScript 2018 (ES9). Când JavaScript este detectat utilizând variabile globale mai târziu decât ES6 sau sintaxa mai târziu decât ES9, este raportată o problemă de sintaxă care nu este acceptată de web pentru resursa web.
- Utilizarea verificatorului de soluții nu garantează că importarea soluției va avea succes. Verificările de analiză statică efectuate față de soluție nu cunosc starea configurată a mediului de destinație și succesul importului poate depinde de alte soluții sau configurații din mediu.
Executați verificatorul de soluții
Conectați-vă la Power Apps.
În panoul din stânga, selectați Soluții. Dacă elementul nu se află în panoul lateral, selectați …Mai multe, apoi selectați elementul dorit.
Lângă soluția neadministrată pe care doriți să o analizați, selectați ..., indicați către Verificator soluții și apoi selectați Executare.
Butonul de comandă Verificator soluție are un indicator de încărcare și veți observa un Rulează... în coloana Verificare soluție din lista Soluție.
Notă
- Pot trece câteva minute pentru ca verificatorul de soluții să finalizeze analiza.
- Veți primi o notificare prin e-mail si o notificare în zona Notificări a site-ului Power Apps când verificarea este finalizată.
- Vizualizați raportul după ce s-a încheiat verificarea.
Revocarea unei verificări
După ce remiteți o verificare de soluții în mediul dvs., verificarea poate fi anulată prin panoul de stare din partea din dreapta sus a paginii Soluții.
Atunci când revocați o verificare, verificarea soluției se oprește din rulare starea verificării revine la starea anterioară.
Stările verificatorului de soluții
Atunci când instalați verificatorul de soluții în mediul dvs., coloana Verificare soluție devine disponibilă în lista Soluții. Această coloană afișează stările analizei de soluție pentru o soluție.
Județ | Descriere |
---|---|
Nu a fost rulat | Soluția nu a fost niciodată analizată. |
În execuție | Soluția este în curs de analizare. |
Nu a putut fi finalizat. | A fost solicitată analiza soluției, dar analiza nu s-a terminat cu succes. |
Rezultate la data și ora | Analiza soluției a fost finalizată, iar rezultatele sunt disponibile pentru descărcare. |
Nu a putut fi finalizată. Rezultat la data și ora | Ultima cerere de analiză nu s-a terminat cu succes. Ultimele rezultate de succes pot fi descărcate. |
Verificate de către Microsoft | Aceasta este o soluție gestionată de Microsoft. Analiza soluției nu este permisă pe aceste soluții. |
Verificat de Publisher | Acesta este un soluție gestionată non-Microsoft. În prezent, analiza soluției nu este disponibilă pentru aceste soluții. |
Verificați raportul verificatorului de soluții
Când o verificare a soluției este finalizată, puteți vizualiza raportul de analiză în portal sau puteți descărca raportul din browserul dvs. Web. În portal, aveți opțiuni pentru a sorta rezultatele după Problemă, Locație sau după Severitatea și vizualizați informații detaliate pentru problemele detectate în soluția dvs.
În panoul din stânga, selectați Soluții. Dacă elementul nu se află în panoul lateral, selectați …Mai multe, apoi selectați elementul dorit.
Lângă soluția negestionată în care doriți să vizualizați raportul verificatorului de soluții, selectați ..., indicați Verificator soluții și apoi selectați Vizualizare rezultate.
Selectați o problemă pentru a vedea detaliile și îndrumările despre cum să o rezolvați.
Rezultatele verificării soluțiilor sunt disponibile și pentru descărcare. Se descarcă fișierul zip al verificatorului de soluții în folderul specificat de browser-ul dvs. web. Raportul descărcat este în format Excel și conține mai multe vizualizări și coloane care vă ajută la identificarea impactului, tipului și locației pentru fiecare problemă detectată în soluția dvs. Este disponibil și un link către îndrumări detaliate despre modalitatea de rezolvare a problemei.
- În panoul din stânga, selectați Soluții. Dacă elementul nu se află în panoul lateral, selectați …Mai multe, apoi selectați elementul dorit.
- Lângă soluția negestionată în care doriți să descărcați raportul verificatorului de soluții, selectați ..., indicați Verificator soluții și apoi selectați Descărcare rezultate.
- Se descarcă fișierul zip al verificatorului de soluții în folderul specificat de browser-ul dvs. web.
Aici este un rezumat al fiecărei coloane din raport.
Coloana raport | Descriere | Componenta Se aplică la |
---|---|---|
Problemă | Titlul problemei identificate în soluție. | Toate |
Categorie | Clasificarea problemei identificate, cum ar fi Performanță, Suportabilitate, Utilizare, Suportabilitate, Design, Securitate, Accesibilitate sau Pregătirea pentru upgrade. | Tot |
Severitate | Reprezintă impactul potențial al problemei identificate. Tipurile de impact disponibile sunt Critic, Ridicat, Mediu, Scăzut și Informațional. | Tot |
Îndrumări | Link către articolul care detaliază problema, impactul și acțiunea recomandată. | Toate |
Componentă | Componenta soluției în care a fost identificată problema. | Toate |
Location | Locația și/sau fișierul sursă al componentei unde a apărut problema care a fost identificată, de exemplu asamblare sau numele fișierului JavaScript. | Toate |
Linie # | Referința numărului de linie a problemei din componenta de resurse web afectată. | Resurse Web |
Modul | Numele modului în care a fost detectată problema identificată în asamblare. | Activitate flux de lucru particularizată |
Tipul | Tipul problemei identificate la asamblare. | Activitate flux de lucru particularizată |
Membru | Membrul problemei identificate la asamblare. | Activitate flux de lucru particularizată |
Declarație | Instrucțiunea de cod sau de configurare care a produs problema. | Toate |
Comentarii | Detalii despre problemă, inclusiv etapele de rezolvare la un nivel ridicat. | Tot |
Rulați local regulile de verificare a soluțiilor
Puteți rula reguli de verificare a soluțiilor în mediul dvs. de dezvoltare pentru a detecta probleme mult mai devreme pe măsură ce vă creați resursele soluției. Acest lucru este acceptat în prezent pentru resursele web (JavaScript și TypeScript). Pentru mai multe detalii, accesați pachetul NPM @microsoft/eslint-plugin-power-apps.
Rulați soluția de verificare folosind PowerShell
Este disponibil un modul PowerShell pe care îl puteți utiliza pentru a interacționa direct cu serviciul. Modulul Microsoft.PowerApps.Checker.PowerShell poate fi folosit pentru analiza soluțiilor negestionate pentru medii Power Apps sau pentru automatizarea și integrarea serviciului în conductele de construire și de eliberare. Mai multe informații: Microsoft.PowerApps.Checker.PowerShell Prezentare generală
Reguli de cele mai bune practici utilizate de verificatorul de soluții
Următorul tabel listează tipul de componentă, descrierea regulii, severitatea și categoria. Încălcările critice sunt blocate sau avertizate atunci când sunt configurate pentru aplicarea verificatorului de soluții cu Medii gestionate. Mai multe informații: Utilizați soluția de verificare în Medii gestionate
Componentă de soluție | Nume regulă | Descriere regulă | Severitate | Categorie |
---|---|---|---|---|
Insert sau activitate flux de lucru | meta-remove-dup-reg | Evitați înregistrări de inserturi Dataverse duplicate. | Critic | Performanță |
Insert sau activitate flux de lucru | meta-avoid-reg-no-attribute | Includeți atributele de filtrare cu Dataverse înregistrări de inserturi. | Mediu | Performanță |
Insert sau activitate flux de lucru | meta-avoid-reg-retrieve | Fiți precauți cu inserturile Dataverse înregistrate pentru mesajele Retrieve and RetrieveMultiple. | Mediu | Performanță |
Insert sau activitate flux de lucru | meta-remove-inactive | Eliminați configurațiile inactive în Dataverse. | Redusă | Capacitate de mentenanță |
Insert sau activitate flux de lucru | meta-avoid-crm4-event | Nu utilizați etapa de înregistrare a insertului Microsoft Dynamics CRM 4.0. | Mediu | Pregătirea pentru upgrade |
Insert sau activitate flux de lucru | meta-avoid-retrievemultiple-annotation | Evitați înregistrarea unui insert pe RetrieveMultiple de adnotări. | Înaltă | Utilizare |
Aplicație proiectată pe bază de model | meta-licență-operațiuni-entitate-vânzare | Soluția conține entități cu mesaje SDK restricționate și operațiuni care necesită o licență Dynamics 365 validă. | Redusă | Licențiere |
Aplicație proiectată pe bază de model | meta-licență-fieldservice-customcontrols | Soluția conține controale personalizate care necesită o licență Dynamics 365 Field Service validă. | Redusă | Licențiere |
Aplicație proiectată pe bază de model | meta-licență-fieldservice-operații-entitate | Soluția conține entități cu mesaje SDK restricționate și operațiuni care necesită o licență Dynamics 365 Field Service validă. | Redusă | Licențiere |
Resurse web | use-async | Interacționați asincron cu resurse HTTP și HTTPS. | Critic | Performanță |
Resurse web | avoid-modals | Evitați să folosiți dialogurile modale. | Înaltă | Suportabilitate |
Resurse web | avoid-dom-form | Înaltă | Suportabilitate | |
Resurse web | avoid-dom-form-event | Înaltă | Suportabilitate | |
Resurse web | avoid-crm2011-service-odata | Nu stabiliți drept țintă punctul final Microsoft Dynamics CRM 2011 OData 2.0. | Critic | Pregătirea pentru upgrade |
Resurse web | avoid-crm2011-service-soap | Nu stabiliți drept țintă serviciile Microsoft Dynamics CRM 2011 SOAP. | Critic | Pregătirea pentru upgrade |
Resurse web | evitare-încărcare tema | Nu utilizați loadTheme API-ul Fluent v8. |
Redusă | Suportabilitate |
Resurse web | avoid-browser-specific-api | Nu utilizați API-uri moștenite Internet Explorer sau inserturi de browser. | Critic | Pregătirea pentru upgrade |
Resurse web | avoid-unpub-api | Înaltă | Suportabilitate | |
Resurse web | avoid-window-top | Înaltă | Suportabilitate | |
Resurse web | avoid-2011-api | Nu utilizați modelul de obiecte perimat Microsoft Dynamics CRM 2011. Urmați în schimb documentația pentru API-ul web Dataverse. | Înaltă | Pregătirea pentru upgrade |
Resurse web | use-relative-uri | Nu utilizați adrese de URL de punct final Dataverse. | Mediu | Capacitate de mentenanță |
Resurse web | use-cached-webresource | Mediu | Performanță | |
Resurse web | use-client-context | utilizați contexte client. | Mediu | Pregătirea pentru upgrade |
Resurse web | use-navigation-api | Utilizați parametri API de navigare. | Mediu | Pregătirea pentru upgrade |
Resurse web | use-offline | Mediu | Pregătirea pentru upgrade | |
Resurse web | do-not-make-parent-assumption | Înaltă | Proiectare | |
Resurse web | use-org-setting | Utilizați setările organizației | Mediu | Pregătirea pentru upgrade |
Resurse web | use-global-context | Mediu | Pregătirea pentru upgrade | |
Resurse web | use-grid-api | Utilizați API-urile de grilă. | Mediu | Pregătirea pentru upgrade |
Resurse web | use-utility-dialogs | Mediu | Utilizare | |
Resurse web | avoid-isActivityType | Înlocuiți Xrm.Utility.isActivityType method with new Xrm.Utility.gettableMetadata și nu o folosiți în regulile de panglică. | Mediu | Pregătirea pentru upgrade |
Resurse web | meta-avoid-silverlight | Utilizarea resursei web Silverlight este perimată. | Mediu | Pregătirea pentru upgrade |
Resurse web | remove-debug-script | Evitați includerea scriptului de depanare în medii care nu sunt de dezvoltare. | Mediu | Utilizare |
Resurse web | utilizare-mod-strict | Utilizați un mod strict atunci când este posibil. | Mediu | Utilizare |
Resurse web | utilizare-stricta-operatori-egalitate | Utilizați operatori stricți de egalitate. | Mediu | Utilizare |
Resurse web | evitare-evaluare | Nu utilizați funcția eval sau echivalentele sale funcționale. |
Critic | Securitate |
Resurse web | evita-cu | Nu utilizați operatorul „cu”. | Înaltă | Performanță |
Resurse web | eliminare-alerta | Nu utilizați funcția „alert” sau echivalentele sale funcționale. | Mediu | Utilizare |
Resurse web | remove-console | Evitați să folosiți metode pe consolă. | Mediu | Utilizare |
Resurse web | avoid-ui-refreshribbon | Evitați să folosiți refreshRibbon în formularul de încărcare și EnableRule. | Critic | Performanță |
Resurse web | use-getsecurityroleprivilegesinfo | Evitați userSettings.securityRolePrivileges. Utilizați în schimb userSettings.getSecurityRolePrivilegesInfo. | Înaltă | Performanță |
Resurse web | use-appsidepane-api | Utilizați Xrm.App.sidePanes.createPane în loc de Xrm.Panels.loadPanel. | Mediu | Pregătirea pentru upgrade |
Resurse web | web-sdl-fără-cookies | Cookie-urile HTTP sunt un vechi mecanism de stocare pe partea clientului, cu riscuri și limitări inerente. Utilizați în schimb Web Storage, IndexedDB sau alte metode moderne. | Mediu | Securitate |
Resurse web | web-sdl-no-document-domain | Scrierile în proprietatea document.domain trebuie revizuite pentru a evita ocolirea verificărilor de aceeași origine. Utilizarea domeniilor de nivel superior, cum ar fi azurewebsites.net, este strict interzisă. | Mediu | Securitate |
Resurse web | web-sdl-no-document-write | Apelurile către document.write sau document.writeln manipulează DOM direct fără nicio igienizare și ar trebui evitate. Folosiți document.createElement() sau metode similare. | Mediu | Securitate |
Resurse web | metoda web-sdl-no-html | Apelurile directe la metoda html() adesea (de exemplu, în cadrul jQuery) manipulează DOM fără nicio igienizare și ar trebui evitate. Folosiți document.createElement() sau metode similare. | Mediu | Securitate |
Resurse web | web-sdl-no-inner-html | Atribuțiile la proprietățile innerHTML sau outerHTML manipulează DOM direct fără nicio dezinfectare și ar trebui evitate. Folosiți document.createElement() sau metode similare. | Mediu | Securitate |
Resurse web | web-sdl-no-insecure-url | Protocoalele nesigure, cum ar fi HTTP sau FTP, ar trebui înlocuite cu echivalentele lor criptate (HTTPS, FTPS) pentru a evita trimiterea de date în text simplu potențial confidențiale prin rețele lipsite de încredere. | Mediu | Securitate |
Resurse web | web-sdl-no-msapp-exec-unsafe | Apelurile către MSApp.execUnsafeLocalFunction() ocolesc validarea injectării de script și ar trebui evitate. | Mediu | Securitate |
Resurse web | web-sdl-no-postmessage-star-origin | Furnizați întotdeauna o origine țintă specifică și nu * atunci când se trimit date către alte ferestre utilizând postMessage, evitând astfel scurgerea de date în afara limitei de încredere. | Mediu | Securitate |
Resurse web | web-sdl-no-winjs-html-unsafe | Apelurile către WinJS.Utilities.setInnerHTMLUnsafe() și metode similare nu efectuează nicio validare de intrare și ar trebui evitate. Utilizați WinJS.Utilities.setInnerHTML() în schimb. | Mediu | Securitate |
Aplicație pânză | aplicație-formula-probleme-mare | Accesați Power Apps referința formulei pentru detalii suplimentare. | Critic | Proiectare |
Aplicație pânză | aplicație-formula-probleme-mediu | Faceți referință la Power Apps referințe de formulă pentru detalii suplimentare. | Mediu | Proiectare |
Aplicație pânză | probleme-formula-aplicație-scăzut | Faceți referință la Power Apps referințe de formulă pentru detalii suplimentare. | Redusă | Proiectare |
Aplicație pânză | app-use-delayoutput-text-input | Utilizați încărcarea întârziată în unele scenarii pentru a îmbunătăți performanța. | Mediu | Performanță |
Aplicație pânză | app-reduce-screen-controls | Limitați numărul de controale ale aplicației pentru o performanță îmbunătățită. | Mediu | Performanță |
Aplicație pânză | app-include-accessible-label | Utilizați etichete explicite pentru a îmbunătăți accesibilitatea aplicației. | Mediu | Accesibilitate |
Aplicație pânză | app-include-alternative-input | Asigurați-vă că toate elementele interactive sunt accesibile intrărilor alternative. | Mediu | Accesibilitate |
Aplicație pânză | app-avoid-autostart | Evitați utilizarea pornirii automate pe jucători dintr-o aplicație. | Mediu | Accesibilitate |
Consultați și
Cele mai bune practici și îndrumări pentru Dataverse
Cele mai bune practici și instrucțiuni pentru aplicații bazate pe model
Probleme și soluții comune pentru verificatorul de soluții
Notă
Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)
Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).