Udostępnij przez


Poprawa wydajności, stabilności i niezawodności rozwiązania

Rozwiązania służą do dystrybucji obiektów Power Platform, takich jak aplikacje, tabele, przepływy, zasoby internetowe i wtyczki. W tym artykule przedstawiono funkcję sprawdzania rozwiązań, czyli potężne narzędzie, które przeprowadza kompleksową analizę statyczną obiektów rozwiązania w odniesieniu do zestawu reguł najlepszych praktyk. Korzystając z narzędzia do sprawdzania rozwiązań, można szybko zidentyfikować problematyczne wzorce w składnikach i otrzymywać szczegółowe raporty, które wyróżniają problemy, składniki, których dotyczy problem, oraz udostępniają łącza do dokumentacji dotyczącej sposobu rozwiązywania każdego problemu. Dzięki temu rozwiązania są zoptymalizowane pod kątem wydajności, stabilności i niezawodności.

Przykładowe wyniki i szczegóły sprawdzania rozwiązań

Moduł sprawdzania rozwiązania współpracuje z rozwiązaniami niezarządzanymi, które mogą być eksportowane ze środowiska.

Możesz uruchomić narzędzie do sprawdzania rozwiązań z poziomu Power Apps (make.powerapps.com) lub za pomocą PowerShell.

W jaki sposób kontroler rozwiązań może Ci pomóc

Aby sprostać złożonym wymaganiom biznesowym, producenci często muszą stosować bardzo zaawansowane rozwiązania, które dostosowują i rozszerzają Power Platform. Implementacje zaawansowane wiążą się ze zwiększonym ryzykiem, gdzie pojawiają się problemy wydajności, stabilności i niezawodności, co może negatywnie wpływać na użytkownika końcowego. Zidentyfikowanie i zrozumienie sposobu rozwiązywania tych problemów może być skomplikowane i czasochłonne. Dzięki funkcji sprawdzania rozwiązań możesz w ciągu kilku sekund sprawdzić swoje rozwiązanie, korzystając z zestawu najlepszych praktyk, które pozwalają szybko zidentyfikować problematyczne wzorce. Po zakończeniu sprawdzania otrzymasz szczegółowy raport w Power Apps oraz wiadomość e-mail zawierającą listę zidentyfikowanych problemów, składniki i kod, których dotyczą, oraz łącza do dokumentacji opisującej sposób rozwiązania każdego problemu.

Moduł sprawdzania rozwiązań analizuje te składniki rozwiązania:

  • Niestandardowe działania przepływu pracy Dataverse
  • Zasoby sieci Web (HTML i JavaScript) Dataverse
  • Konfiguracje Dataverse, takie jak etapy komunikatu SDK
  • Przepływy Power Automate (za pośrednictwem sprawdzania przepływu)
  • Wyrażenia Power Fx (z pomocą narzędzia sprawdzania aplikacji)

Notatka

  • Moduł sprawdzania rozwiązań obsługuje zmienne globalne dla ECMAScript 2015 (ES6) i do składni ECMAScript 2018 (ES9). Gdy JavaScript zostanie wykryty przy użyciu zmiennych globalnych późniejszych niż ES6 lub składni późniejszej niż ES9, zgłaszany jest problem ze składnią nieobsługiwaną przez WWW dla zasobu WWW.
  • Użycie Narzędzia sprawdzania rozwiązania nie jest gwarancją, że importowanie rozwiązania powiedzie się. Kontrole statyczne wykonane przy użyciu rozwiązania nie wiedzą o stanie skonfigurowanym w środowisku docelowym i pomyślne zaimportowanie może być zależne od innych rozwiązań lub konfiguracji w środowisku.

Uruchom moduł sprawdzania rozwiązań

  1. Zaloguj się w Power Apps.

  2. W lewym okienku wybierz Rozwiązania. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

  3. Obok rozwiązania niezarządzanego, który chcesz analizować, wybierz ..., wskaż Moduł sprawdzania rozwiązań, a następnie wybierz Uruchom.

    Uruchom polecenie sprawdzania rozwiązań.

  4. Przycisk polecenia Sprawdzanie rozwiązań ma wskaźnik ładowania, a zauważysz Uruchamianie... w kolumnie Sprawdzanie rozwiązania na liście Rozwiązanie.

Stan modułu sprawdzania rozwiązań

Notatka

  • Sprawdzanie rozwiązania może potrzebować kilku minut, aby wykonać analizę.
  • Otrzymasz powiadomienie e-mail i powiadomienie w obszarze Powiadomienia witryny Power Apps, gdy kontrola zostanie zakończona.
  1. Wyświetl raport po zakończeniu kontroli.

Anuluj kontrolę

Po przesłaniu kontroli rozwiązania w środowisku, kontrolę można anulować za pośrednictwem okienka stanu w prawym górnym rogu strony Rozwiązania.

Po anulowaniu kontroli kontrola rozwiązania przestanie działać i stan kontroli rozwiązania wróci do poprzedniego stanu.

Stany modułu sprawdzania rozwiązań

Podczas instalowania modułu sprawdzania rozwiązania w środowisku, kolumn Sprawdzanie rozwiązania stanie się dostępna na liście Rozwiązania. Ta kolumna ukazuje stany analizy rozwiązania dla rozwiązania.

województwo Opis
Nie została uruchomiona. Rozwiązanie nigdy nie było analizowane.
Uruchomiono Rozwiązanie jest analizowane.
Nie można zakończyć Analiza rozwiązania była wymagana, ale analiza nie została ukończona pomyślnie.
Wyniki Data i godzina Analiza rozwiązania została ukończona i wyniki są dostępne do pobrania.
Nie można zakończyć. Wyniki Data i godzina Najnowsze żądanie analizy nie powiodło się. Ostatnie udane wyniki można pobrać.
Wyewidencjonowane przez Microsoft Jest to rozwiązanie zarządzane przez firmę Microsoft. Analiza rozwiązania nie może zostać przeprowadzona na tych rozwiązaniach.
Wyewidencjonowane przez Wydawcę Jest to rozwiązanie zarządzane przez inną firmę. Obecnie analiza rozwiązania nie jest dostępna dla tych rozwiązań.

Przejrzyj raport sprawdzania rozwiązania

Po zakończeniu sprawdzania rozwiązania można wyświetlić raport z analizy w portalu lub pobrać raport z przeglądarki sieci Web. W portalu dostępne są opcje sortowania wyników według Problemu, Lokalizacji lub Ważności oraz wyświetlania szczegółowych informacji o problemach wykrytych w rozwiązaniu.

  1. W lewym okienku wybierz Rozwiązania. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

  2. Obok rozwiązania niezarządzanego, w którym chcesz przeglądać raport sprawdzania rozwiązania, wybierz ..., wskaż Moduł sprawdzania rozwiązania, a następnie wybierz Przejrzyj wyniki.

  3. Wybierz problem, aby wyświetlić szczegółowe informacje i wytyczne dotyczące rozwiązywania.

    Szczegółowa analiza przykładowych wyników i szczegółów kontrolera rozwiązań

Wyniki sprawdzania rozwiązań są również dostępne do pobrania. Plik zip modułu sprawdzania rozwiązań jest pobierany do folderu określonego przez przeglądarkę sieci Web. Raport do pobrania jest w formacie Excel i zawiera kilka wizualizacji oraz kolumn, które pomagają zidentyfikować wpływ, typ i lokalizację każdego problemu wykrytego w rozwiązaniu. Zapewniane jest również łącze do szczegółowych instrukcji dotyczących sposobu rozwiązania tego problemu.

  1. W lewym okienku wybierz Rozwiązania. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.
  2. Obok rozwiązania niezarządzanego, do którego ma zostać pobrany raport sprawdzania rozwiązania, wybierz ..., wskaż Sprawdzanie rozwiązania, a następnie wybierz Pobierz wyniki.
  3. Plik zip modułu sprawdzania rozwiązań jest pobierany do folderu określonego przez przeglądarkę sieci Web.

Poniżej przedstawiono podsumowanie każdej kolumny w raporcie.

Kolumna raportu Opis Dotyczy składnika
Problem Tytuł problemu stwierdzonego w rozwiązaniu. Wszystkie
Kategoria Kategoryzowanie identyfikowanego problemu, takie jak Wydajność, Łatwość obsługi, Użycie, Możliwość obsługi, Projekt, Bezpieczeństwo, Dostępność lub Gotowość do uaktualnienia. Wszystkie
Waga błędu Reprezentuje potencjalny wpływ zidentyfikowanego problemu. Dostępne typy wpływów to Krytyczne, Duże, Średnie, Niskie i Do informacji. Wszystkie
Wskazówki Łącze do artykułu określającego problem, wpływ i zalecane działanie. Wszystkie
Składnik Składnik rozwiązania, w którym problem zauważono. Wszystkie
Location Lokalizacja i/lub źródłowy plik składnika, w którym problem, który został zidentyfikowany, wystąpił, taki jak zestaw lub nazwa pliku w języku JavaScript. Wszystkie
Nr wiersza Odwołanie numeru wiersza problemu w dotkniętym składniku zasobu sieci Web. Zasoby sieci Web
Moduł Nazwa modułu, gdzie został wykryty problem wskazany w zestawie. Niestandardowa aktywność przepływu pracy
Typ Typ problemu zidentyfikowanego w zestawie. Niestandardowa aktywność przepływu pracy
Element członkowski Członek problemu zidentyfikowanego w zestawie. Niestandardowa aktywność przepływu pracy
Oświadczenie Oświadczenie lub konfiguracja kodu powodujące problem. Wszystkie
Komentarze Szczegółowe informacje o problemie, które zawierają podstawowe kroki naprawcze. Wszystkie

Lokalne uruchamianie reguł sprawdzania rozwiązań

W środowisku projektowym można uruchomić reguły sprawdzania rozwiązań, aby wykrywać problemy znacznie wcześniej, gdy zasoby rozwiązania będą się tworzyć. Jest to obecnie obsługiwane w przypadku zasobów sieci web (JavaScript i TypeScript). Aby uzyskać więcej szczegółowych informacji, przejdź do pakietu NPM, @microsoft/eslint-plugin-power-apps.

Uruchom narzędzie do sprawdzania rozwiązań za pomocą programu PowerShell

Dostępny jest także moduł PowerShell, który może być używany do interakcji bezpośrednio z usługą. Moduł Microsoft.PowerApps.Checker.PowerShell może być użyty do analizy niezarządzanych rozwiązań dla środowisk Power Apps lub do zautomatyzowania i zintegrowania usługi z potokiem budowania i wydawania. Więcej informacji: Omówienie Microsoft.PowerApps.Checker.PowerShell

Reguły najlepszych rozwiązań stosowane przez moduł sprawdzania rozwiązań

W poniższej tabeli wymieniono typy składników, opis reguły, ważność i kategoria. Krytyczne naruszenia są blokowane lub wskazywane podczas konfigurowania ich do wymuszenia sprawdzania rozwiązań w środowiskach zarządzanych. Więcej informacji: Stosowanie sprawdzania rozwiązań w środowiskach zarządzanych

Składnik rozwiązania Nazwa reguły Opis reguły Waga błędu Kategoria
Dodatek typu plug-in lub działanie przepływu pracy meta-remove-dup-reg Należy unikać powtarzających się rejestracji dodatków plug-in Dataverse. Krytyczne Wydajność
Dodatek typu plug-in lub działanie przepływu pracy meta-avoid-reg-no-attribute Dołączanie atrybutów filtrowania do rejestracji dodatków plug-in Dataverse. Średnia Wydajność
Dodatek typu plug-in lub działanie przepływu pracy meta-avoid-reg-retrieve Zachowaj ostrożność w przypadku dodatków typu plug-in Dataverse rejestrowanych dla wiadomości Retrieve i RetrieveMultiple. Średnia Wydajność
Dodatek typu plug-in lub działanie przepływu pracy meta-remove-inactive Usuń nieaktywne konfiguracje Dataverse. Minimum Możliwość konserwacji
Dodatek typu plug-in lub działanie przepływu pracy meta-avoid-crm4-event Nie używaj etapu rejestracji dodatku typu plug-in Microsoft Dynamics CRM 4.0. Średnia Gotowość do uaktualnienia
Dodatek typu plug-in lub działanie przepływu pracy meta-avoid-retrievemultiple-annotation Unikaj rejestrowania wtyczki na RetrieveMultiple adnotacji. Maksimum Sposób użycia
Aplikacja oparta na modelu meta-license-sales-entity-operations Rozwiązanie zawiera encje z ograniczonymi komunikatami i operacjami SDK, które wymagają ważnej licencji Dynamics 365. Minimum Licencjonowanie
Aplikacja oparta na modelu meta-license-fieldservice-customcontrols Rozwiązanie zawiera niestandardowe kontrolki, które wymagają ważnej licencji Dynamics 365 Field Service. Minimum Licencjonowanie
Aplikacja oparta na modelu meta-license-fieldservice-entity-operations Rozwiązanie zawiera encje z ograniczonymi komunikatami SDK i operacjami, które wymagają ważnej licencji Dynamics 365 Field Service. Minimum Licencjonowanie
Zasoby internetowe use-async Wchodź w interakcję z zasobami HTTP i HTTPS asynchronicznie. Krytyczne Wydajność
Zasoby internetowe avoid-modals Unikaj używania modalnych okien dialogowych. Maksimum Możliwość obsługi
Zasoby internetowe avoid-dom-form Maksimum Możliwość obsługi
Zasoby internetowe avoid-dom-form-event Maksimum Możliwość obsługi
Zasoby internetowe avoid-crm2011-service-odata Nie ustawiaj za cel punktu końcowego Microsoft Dynamics CRM 2011 OData 2.0. Krytyczne Gotowość do uaktualnienia
Zasoby internetowe avoid-crm2011-service-soap Nie ustawiaj za cel usług Microsoft Dynamics CRM 2011 SOAP. Krytyczne Gotowość do uaktualnienia
Zasoby internetowe avoid-loadtheme Nie używaj interfejsu loadTheme API Fluent v8. Minimum Możliwość obsługi
Zasoby internetowe avoid-browser-specific-api Nie używaj starszych interfejsów API programu Internet Explorer ani dodatków plug-in przeglądarki. Krytyczne Gotowość do uaktualnienia
Zasoby internetowe avoid-unpub-api Maksimum Możliwość obsługi
Zasoby internetowe avoid-window-top Maksimum Możliwość obsługi
Zasoby internetowe avoid-2011-api Nie używaj przestarzałego modelu obiektu Microsoft Dynamics CRM 2011. Zamiast tego należy postępować zgodnie z dokumentacją Dataverse interfejsu API sieci Web. Maksimum Gotowość do uaktualnienia
Zasoby internetowe use-relative-uri Nie używaj bezwzględnych adresów URL punktu końcowego Dataverse. Średnia Możliwość konserwacji
Zasoby internetowe use-cached-webresource Średnia Wydajność
Zasoby internetowe use-client-context Używaj kontekstów klienta. Średnia Gotowość do uaktualnienia
Zasoby internetowe use-navigation-api Użyj parametrów interfejsów API nawigacji. Średnia Gotowość do uaktualnienia
Zasoby internetowe use-offline Średnia Gotowość do uaktualnienia
Zasoby internetowe do-not-make-parent-assumption Maksimum Zaprojektuj
Zasoby internetowe use-org-setting Użyj ustawień organizacyjnych. Średnia Gotowość do uaktualnienia
Zasoby internetowe use-global-context Średnia Gotowość do uaktualnienia
Zasoby internetowe use-grid-api Użyj interfejsu API siatki. Średnia Gotowość do uaktualnienia
Zasoby internetowe use-utility-dialogs Średnia Sposób użycia
Zasoby internetowe avoid-isActivityType Zastąp metodę Xrm.Utility.isActivityType przy użyciu nowych Xrm.Utility.gettableMetadata i nie używaj w regułach wstążki. Średnia Gotowość do uaktualnienia
Zasoby internetowe meta-avoid-silverlight Użycie zasobu sieci Web Silverlight jest przestarzałe. Średnia Gotowość do uaktualnienia
Zasoby internetowe remove-debug-script Unikaj włączania skryptów debugowania w środowiskach innych niż projektowanie. Średnia Sposób użycia
Zasoby internetowe use-strict-mode Jeśli jest to możliwe używaj trybu strict. Średnia Sposób użycia
Zasoby internetowe use-strict-equality-operators Używaj operatorów równości typu strict. Średnia Sposób użycia
Zasoby internetowe avoid-eval Nie należy używać funkcji eval ani jej ekwiwalentów funkcjonalnych. Krytyczne Zabezpieczenia
Zasoby internetowe avoid-with Nie używać operatora 'with'. Maksimum Wydajność
Zasoby internetowe remove-alert Nie używaj funkcji „alert” ani jej odpowiedników funkcjonalnych. Średnia Sposób użycia
Zasoby internetowe remove-console Należy unikać stosowania metod w konsoli. Średnia Sposób użycia
Zasoby internetowe avoid-ui-refreshribbon Należy unikać używania refreshRibbon przy ładowaniu formularza i EnableRule. Krytyczne Wydajność
Zasoby internetowe use-getsecurityroleprivilegesinfo Unikaj userSettings.securityRolePrivileges. W zamian użyj obiektu userSettings.getSecurityRolePrivilegesInfo. Maksimum Wydajność
Zasoby internetowe use-appsidepane-api Użyj Xrm.App.sidePanes.createPane zamiast Xrm.Panels.loadPanel. Średnia Gotowość do uaktualnienia
Zasoby internetowe web-sdl-no-cookie Pliki cookie w przeglądarkach HTTP to stary mechanizm przechowywania danych po stronie klienta z nieodłącznym ryzykiem i ograniczeniami. Zamiast tego użyj magazynu sieci Web IndexedDB lub innych nowoczesnych metod. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-document-domain Zapisuje właściwości document.domain, musi być przeglądane, aby uniknąć pominięcia kontroli z tego samego źródła. Używanie domen najwyższego poziomu, takich jak azurewebsites.net, jest zakazane. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-document-write Wywołania metod document.write lub document.writeln mogą bezpośrednio modyfikować specyfikacje DOM bez oczyszczania i należy ich unikać. Zamiast tego należy użyć document.createElement () lub podobnych metod. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-html-method Bezpośrednie wywołania metody html() często (np. w strukturze jQuery) powodują bezpośrednie wykonywanie operacji na modelu DOM bez oczyszczania, więc należy ich unikać. W zamian należy używać metody document.createElement() lub podobnych. Zamiast tego należy użyć document.createElement () lub podobnych metod. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-inner-html Przypisania do właściwości innerHTML lub outerHTML zmieniają specyfikacje DOM bez oczyszczania i należy ich unikać. Zamiast tego należy użyć document.createElement () lub podobnych metod. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-insecure-url Niezabezpieczone protokoły, takie jak HTTP lub FTP, powinny zostać zastąpione ich szyfrowanymi odpowiednikami (HTTPS, FTPS), aby uniknąć wysyłania potencjalnie poufnych danych za pośrednictwem niezaufanych sieci w postaci zwykłego tekstu. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-msapp-exec-unsafe Wywołanie MSApp.execUnsafeLocalFunction() pomija sprawdzanie poprawności skryptów i należy go unikać. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-postmessage-star-origin Zawsze należy podać konkretne docelowe miejsce, a nie * podczas wysyłania danych do innych okien przy użyciu funkcji postMessage w celu uniknięcia wycieku danych poza strefę zaufania. Średnia Zabezpieczenia
Zasoby internetowe web-sdl-no-winjs-html-unsafe Wywołania funkcji WinJS.Utilities.setInnerHTMLUnsafe() i podobnych metod nie powodują weryfikacji danych wejściowych i należy ich unikać. Zamiast tego należy użyć WinJS.Utilities.setInnerHTML(). Średnia Zabezpieczenia
Aplikacja kanwy app-formula-issues-high Aby uzyskać więcej szczegółowych informacji, zobacz Opis odwołań do formuł Power Apps. Krytyczne Zaprojektuj
Aplikacja kanwy app-formula-issues-medium Aby uzyskać więcej szczegółowych informacji, zobacz Opis odwołań do formuł Power Apps. Średnia Zaprojektuj
Aplikacja kanwy app-formula-issues-low Aby uzyskać więcej szczegółowych informacji, zobacz Opis odwołań do formuł Power Apps. Minimum Zaprojektuj
Aplikacja kanwy app-use-delayoutput-text-input W niektórych scenariuszach użyj opóźnionego ładowania, aby zwiększyć wydajność. Średnia Wydajność
Aplikacja kanwy app-reduce-screen-controls Ograniczenie liczby kontrolek aplikacji zwiększających wydajność. Średnia Wydajność
Aplikacja kanwy app-include-accessible-label Użyj jawnych etykiet, aby zwiększyć dostępność aplikacji. Średnia Dostępność
Aplikacja kanwy app-include-alternative-input Upewnij się, że wszystkie elementy interaktywne są dostępne dla innych składników. Średnia Dostępność
Aplikacja kanwy app-avoid-autostart Unikaj używania autostartu na graczach w aplikacji. Średnia Dostępność
Przepływ pulpitu desktopflow-avoid-unsafe-password Zarządzanie hasłami w przepływie odbywa się w sposób niebezpieczny. Maksimum Zabezpieczenia
Przepływ pulpitu desktopflow-avoid-subflow-recursion Między podprzepływami wykryto wywołania cykliczne, które mogą potencjalnie powodować nieskończoną pętlę. Średnia Zaprojektuj
Przepływ pulpitu desktopflow-avoid-infinite-loop W przepływie wykryto nieskończoną pętlę, która może potencjalnie powodować nieskończone działanie przepływu. Średnia Zaprojektuj
Przepływ pulpitu desktopflow-avoid-incomplete-if-branch Wykryto niekompletną akcję „if”, w której brakuje zawartości lub która zawiera tylko akcje w odgałęzieniu „else”. Minimum Zaprojektuj
Przepływ pulpitu desktopflow-avoid-excessive-nested-ifs Zagnieżdżone klauzule If przekraczają pięć poziomów. Minimum Możliwość konserwacji
Przepływ pulpitu desktopflow-avoid-empty-on-error-block Akcja „Przy błędzie bloku” jest pusta i nie obsługuje błędów. Minimum Zaprojektuj
Przepływ pulpitu desktopflow-limit-argument-count Łączna liczba zmiennych wejściowych/wyjściowych przekracza limit liczby zmiennych wynoszący 25. Minimum Możliwość konserwacji
Przepływ pulpitu desktopflow-input-argument-default-value W zmiennych wejściowych/wyjściowych nie są używane wartości domyślne. Minimum Możliwość konserwacji
Przepływ pulpitu desktopflow-limit-variable-name-length Długość nazwy zmiennej przekracza limit 25 znaków. Minimum Możliwość konserwacji
Przepływ pulpitu desktopflow-avoid-excessive-wait-actions Wykryto nadużycie akcji oczekiwania, przy czym więcej niż 10 akcji oczekiwania może potencjalnie spowodować wystąpienie wąskich gardeł. Minimum Wydajność
Przepływ pulpitu desktopflow-avoid-immense-wait-duration Wykryto ogromnie długi czas oczekiwania, który przekroczył limit 600 sekund dla zapisanych na stałe akcji oczekiwania. Minimum Wydajność

Zobacz też

Sprawdzone metody postępowania i wskazówki dotyczące Dataverse
Najważniejsze wskazówki i wytyczne dotyczące aplikacji opartych na modelu
Typowe problemy i rozwiązania dla modułu sprawdzania rozwiązań