Подобрете производителността, стабилността и надеждността на решението
Решенията се използват за разпространение Power Platform на обекти, като приложения, таблици, потоци, уеб ресурси и плъгини. Тази статия представя функцията за проверка на решения, мощен инструмент, който извършва цялостен статичен анализ на вашите обекти на решение спрямо набор от правила за най-добри практики. С помощта на програмата за проверка на решения можете бързо да идентифицирате проблемни модели във вашите компоненти и да получавате подробни отчети, които подчертават проблеми, засегнати компоненти и предоставят връзки към документация за разрешаване на всеки проблем. Това гарантира, че вашите решения са оптимизирани за производителност, стабилност и надеждност.
Инструментът за проверка на решения работи с незавършени решения, които могат да бъдат експортирани от дадена среда.
Можете да стартирате проверка на решения или от Power Apps (make.powerapps.com), или с помощта на PowerShell.
Как Solution Checker ви помага
За да изпълнят сложни бизнес изисквания, производителите често могат да се окажат с изключително усъвършенствани решения, които персонализират и разширяват. Power Platform С разширените внедрявания идва и увеличен риск, където се представят проблемите с производителността, стабилността и надеждността, който може да се отрази отрицателно на изживяването на потребителя. Идентифицирането и разбирането на това как да разрешите тези проблеми, може да е сложно и отнемащо време. С функцията за проверка на решения можете да извършите проверка в рамките на секунди на вашето решение, което използва набор от правила за най-добри практики за бързо идентифициране на проблемни модели. След като проверката завърши, получавате подробен отчет Power Apps , както и в имейл съобщение, който изброява идентифицираните проблеми, засегнатите компоненти и код и връзки към документация, която описва как да разрешите всеки проблем.
Инструментът за проверка на решение анализира тези компоненти на решение:
- Дейности в персонализиран работен поток на Dataverse
- Уеб ресурси (HTML и JavaScript) на Dataverse
- Конфигурации на Dataverse, като например стъпки на SDK съобщение
- Power Automate потоци (чрез проверка на потока)
- Power Fx Изрази (чрез App Checker)
Бележка
- Инструментът за проверка на решения поддържа глобални променливи за синтаксис на ECMAScript 2015 (ES6) и до ECMAScript 2018 (ES9). Когато се открие, че JavaScript използва глобални променливи, по-късни от ES6, или синтаксис по-късен от ES9, се отчита проблем със синтаксис, неподдържан в мрежата, за уеб ресурса.
- Използването на програмата за проверка на решение не гарантира, че импортирането на решение ще бъде успешно. Проверките за статичен анализ, извършени спрямо решението, не знаят конфигурираното състояние на средата местоназначение и успехът на импортирането може да зависи от други решения или конфигурации в средата.
Изпълнение на инструмента за проверка на решения
Влезте в Power Apps.
В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
До незавършеното решение, което искате да анализирате, изберете ..., посочете Инструмент за проверка на решенияи след това изберете Изпълнение.
Командният бутон за проверка на решение има индикатор за зареждане и ще забележите Running... в колоната Инструмент за проверка на решения на списъка Решение.
Бележка
- Инструментът за проверка на решения може да има нужда от няколко минути, за да изпълни анализа.
- Ще получите имейл известяване и известяване в зоната Известявания на сайта на Power Apps, когато проверката приключи.
- Прегледайте отчета, когато проверката приключи.
Отмяна на проверка
След като подадете проверка на решенията в средата си, проверката може да бъде отменена чрез екрана за състояние в горната дясна зона на страницата Решения.
Когато отмените дадена проверка, проверката на решение спира да се изпълнява и състоянието на проверка на решението се връща на предишното състояние.
Състояния на инструмента за проверка на решения
Когато инсталирате инструмента за проверка на решения във вашата среда, колоната Проверка на решения става налична в списъка Решения. Тази колона показва на състоянията на анализ на решения за дадено решение.
Състояние | Описание |
---|---|
Не е изпълнявано | Решението никога не е било анализирано. |
Изпълнява се | Решението се анализира. |
Не може да бъде завършено | Анализ на решението е заявен, но анализът не е приключил успешно. |
Резултати от дата и час | Анализът на решението е завършен и резултатите са налични за изтегляне. |
Не може да бъде завършено. Резултат от дата и час | Последната заявка за анализ не завърши успешно. Последните успешни резултати могат да бъдат изтеглени. |
Проверено от Microsoft | Това е завършено решение от Microsoft. Анализът на решение не се разрешава за тези решения. |
Проверено от издател | Това е завършено решение, което не е от Microsoft. В момента анализът на решение не е наличен за тези решения. |
Прегледайте отчета на инструмента за проверка на решения
Когато приключи проверката на решението, можете да прегледате отчета за анализа в портала или да изтеглите отчета от уеб браузъра си. В портала имате опции за сортиране на резултатите по проблем, местоположение или по сериозност и преглед на подробна информация за проблеми, открити във вашето решение.
В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
До незавършеното решение, където искате да видите отчета на инструмента за проверка на решения, изберете ..., посочете Инструмент за проверка на решения и след това изберете Преглед на резултати.
Изберете проблем, за да видите подробностите и указанията как да го разрешите.
Резултатите от проверката на решения също са достъпни за изтегляне. ZIP файлът на инструмента за проверка на решения се изтегля в папката, указана от вас, в уеб браузъра ви. Отчетът за изтегляне е във формат Excel и съдържа няколко визуализации и колони, които ви помагат при идентифицирането на влиянието, типа и местоположението на всеки проблем, отчетен в решението ви. Предоставя се и връзка към подробна насока за това как да разрешите проблема.
- В левия панел изберете Решения. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
- До незавършеното решение, където искате да изтеглите отчета на инструмента за проверка на решения, изберете ..., посочете Инструмент за проверка на решения и след това изберете Изтегляне на резултати.
- ZIP файлът на инструмента за проверка на решения се изтегля в папката, указана от вас, в уеб браузъра ви.
Ето обобщение на всяка колона в отчета.
Колона на отчет | Описание | Компонент „Прилага се за” |
---|---|---|
Проблем | Заглавието на проблема, идентифициран в решението. | Цялата |
Категория | Категоризацията на идентифицирания проблем, като производителност, поддръжка, използване , поддръжка , дизайн , сигурност , достъпност или готовност за надстройка. · · | Цялата |
Степен сериозност | Представлява потенциалното въздействие на идентифицирания проблем. Наличните видове въздействие са критични, високи, средни, ниски и информационни. | Цялата |
Насоки | Връзка към статия, предоставяща подробности за проблема, влиянието и препоръчителното действие. | Цялата |
Компонент | Компонентът на решението, където е идентифициран проблемът. | Цялата |
Location | Местоположението и/или източник файл на компонента, където е възникнал идентифицираният проблем, като механизъм или файлово име на JavaScript. | Цялата |
Ред № | Препратката за номер на ред на проблема в засегнатия компонент на уеб ресурс. | Уеб ресурси |
Модул | Името на модула, където е отчетен идентифицирания в механизма проблем. | Потребителска дейност на работния поток |
Тип | Типът на проблема, идентифициран в механизма. | Потребителска дейност на работния поток |
Член | Член на проблема, идентифициран в механизма. | Потребителска дейност на работния поток |
Декларация | Декларацията или конфигурацията в кода, довели до проблема. | Цялата |
Коментари | Подробности за проблема, които включват стъпки за разрешаване от високо ниво. | Цялата |
Изпълнете правилата за проверка на решения локално
Можете да изпълнявате правила за проверка на решения във вашата среда за разработка, за да откриете проблеми много по-рано, докато създавате ресурси за решение. Понастоящем това се поддържа за уеб ресурси (JavaScript и TypeScript). За повече подробности отидете на пакета @microsoft/eslint-plugin-power-apps NPM.
Стартиране на проверка на решение с помощта на PowerShell
Наличен е модул PowerShell, който можете да използвате за директно взаимодействие с услугата. Модулът Microsoft.PowerApps.Checker.PowerShell може да се използва за анализ на незавършени решения за среди на Power Apps или за автоматизиране и интегриране на услугата във вашите конвейери за създаване и издаване. Повече информация: Microsoft.PowerApps. Преглед на Checker.PowerShell
Правила за най-добри практики от инструмента за проверка на решения
Следващата таблица изброява типа на компонента, описанието на правилото, сериозността и категорията. Критичните нарушения се блокират или предупреждават, когато са конфигурирани за налагане на проверка на решения с Управлявани среди. Повече информация: Използване на проверка на решения в Управлявани среди
Компонент на решение | Име на правило | Описание на правило | Степен сериозност | Категория |
---|---|---|---|---|
Добавка или дейност в работен поток | meta-remove-dup-reg | Избягвайте дублирани регистрации на добавка на Dataverse. | Критично | Производителност |
Добавка или дейност в работен поток | meta-avoid-reg-no-attribute | Включете атрибутите за филтриране с регистрации на плъгини на Dataverse. | Среден | Производителност |
Добавка или дейност в работен поток | meta-avoid-reg-retrieve | Да се внимава с добавките на Dataverse, регистрирани за съобщения за извличане и RetrieveMultiple. | Среден | Производителност |
Добавка или дейност в работен поток | meta-remove-inactive | Премахване на неактивни конфигурации в Dataverse. | Ниска | Възможност за поддържане |
Добавка или дейност в работен поток | meta-avoid-crm4-event | Не се използва етап на регистрация на добавка на Microsoft Dynamics CRM 4.0. | Среден | Готовност за надграждане |
Добавка или дейност в работен поток | meta-avoid-retrievemultiple-annotation | Избягване на регистриране на добавка в RetrieveMultiple на анотация. | Висока | Използване |
Приложение, управлявано от модел | мета-лиценз-продажби-обект-операции | Решението съдържа обекти с ограничени SDK съобщения и операции, които изискват валиден лиценз за Dynamics 365. | Ниска | Лицензиране |
Приложение, управлявано от модел | meta-license-fieldservice-customcontrols | Решението съдържа персонализирани контроли, които изискват валиден Dynamics 365 Field Service лиценз. | Ниска | Лицензиране |
Приложение, управлявано от модел | мета-лиценз-полева услуга-обект-операции | Решението съдържа обекти с ограничени SDK съобщения и операции, които изискват валиден Dynamics 365 Field Service лиценз. | Ниска | Лицензиране |
Уеб ресурси | use-async | Взаимодействие с HTTP и HTTPS ресурси асинхронно. | Критично | Производителност |
Уеб ресурси | avoid-modals | Избягване на използването на модални диалогови прозорци. | Висока | Възможност за поддръжка |
Уеб ресурси | avoid-dom-form | Висока | Възможност за поддръжка | |
Уеб ресурси | avoid-dom-form-event | Висока | Възможност за поддръжка | |
Уеб ресурси | avoid-crm2011-service-odata | Не се насочва към крайната точка на Microsoft Dynamics CRM 2011 OData 2.0. | Критично | Готовност за надграждане |
Уеб ресурси | avoid-crm2011-service-soap | Не се насочва към услуги на Microsoft Dynamics CRM 2011 SOAP. | Критично | Готовност за надграждане |
Уеб ресурси | avoid-loadtheme | Не използвайте loadTheme Fluent v8 API. |
Ниска | Възможност за поддръжка |
Уеб ресурси | avoid-browser-specific-api | Не се използват наследени API на Internet Explorer или добавки на браузъра. | Критично | Готовност за надграждане |
Уеб ресурси | avoid-unpub-api | Висока | Възможност за поддръжка | |
Уеб ресурси | avoid-window-top | Висока | Възможност за поддръжка | |
Уеб ресурси | avoid-2011-api | Не се използва отхвърленият обектен модел на Microsoft Dynamics CRM 2011. Вместо това следвайте Dataverse Уеб API документация. | Висока | Готовност за надграждане |
Уеб ресурси | use-relative-uri | Не се използват абсолютни URL адреси на крайна точка на Dataverse. | Среден | Възможност за поддържане |
Уеб ресурси | use-cached-webresource | Среден | Производителност | |
Уеб ресурси | use-client-context | Използване на клиентски контексти. | Среден | Готовност за надграждане |
Уеб ресурси | use-navigation-api | Използване на параметри на API за навигация. | Среден | Готовност за надграждане |
Уеб ресурси | use-offline | Среден | Готовност за надграждане | |
Уеб ресурси | do-not-make-parent-assumption | Висока | Проектиране | |
Уеб ресурси | use-org-setting | Използване на настройките на организацията. | Среден | Готовност за надграждане |
Уеб ресурси | use-global-context | Среден | Готовност за надграждане | |
Уеб ресурси | use-grid-api | Използване на API на мрежата. | Среден | Готовност за надграждане |
Уеб ресурси | use-utility-dialogs | Среден | Използване | |
Уеб ресурси | avoid-isActivityType | Заменете метода Xrm.Utility.isActivityType с новия Xrm.Utility.gettableMetadata и не използвайте в правилата на лентата. | Среден | Готовност за надграждане |
Уеб ресурси | meta-avoid-silverlight | Използването на уеб ресурс на Silverlight е отхвърлено. | Среден | Готовност за надграждане |
Уеб ресурси | remove-debug-script | Избягвайте да включвате скриптове за отстраняване на грешки в среди без разработка. | Среден | Използване |
Уеб ресурси | използване-строг режим | Използване на строг режим, когато е възможно. | Среден | Използване |
Уеб ресурси | оператори със строго равенство | Използване на оператори за стриктно равенство. | Среден | Използване |
Уеб ресурси | избягване | Не използвайте eval функцията или нейните функционални еквиваленти. |
Критично | Защита |
Уеб ресурси | Избягвайте с | Не използвайте оператора "с". | Висока | Производителност |
Уеб ресурси | премахване-предупреждение | Не използвайте функцията „alert“ или функционалните й еквиваленти. | Среден | Използване |
Уеб ресурси | Премахване на конзолата | Избягвайте да използвате методи на конзолата. | Среден | Използване |
Уеб ресурси | avoid-ui-refreshribbon | Избягвайте да използвате refreshRibbon във формата onload и EnableRule. | Критично | Производителност |
Уеб ресурси | use-getsecurityroleprivilegesinfo | Избягвайте userSettings.securityRolePrivileges. Вместо това използвайте userSettings.getSecurityRolePrivilegesInfo. | Висока | Производителност |
Уеб ресурси | използване-appsidepane-api | Използвайте Xrm.App.sidePanes.createPane вместо Xrm.Panels.loadPanel. | Среден | Готовност за надграждане |
Уеб ресурси | web-sdl-no-cookies | HTTP бисквитките са стар механизъм за съхранение от страна на клиента с присъщи рискове и ограничения. Вместо това използвайте Web Storage, IndexedDB или други съвременни методи. | Среден | Защита |
Уеб ресурси | web-sdl-no-document-domain | Записите в свойството document.domain трябва да бъдат прегледани, за да се избегне заобикаляне на проверки от същия произход. Използването на домейни от първо ниво като azurewebsites.net е строго забранено. | Среден | Защита |
Уеб ресурси | web-sdl-no-document-write | Извикванията на document.write или document.writeln манипулират DOM директно без никаква дезинфекция и трябва да се избягват. Вместо това използвайте document.createElement() или подобни методи. | Среден | Защита |
Уеб ресурси | web-sdl-no-html-method | Директните извиквания на метод html() често (например в jQuery framework) манипулират DOM без никаква дезинфекция и трябва да се избягват. Вместо това използвайте document.createElement() или подобни методи. | Среден | Защита |
Уеб ресурси | web-sdl-no-inner-html | Присвояването на свойства на innerHTML или outerHTML манипулира DOM директно без никаква дезинфекция и трябва да се избягва. Вместо това използвайте document.createElement() или подобни методи. | Среден | Защита |
Уеб ресурси | web-sdl-no-insecure-url | Несигурните протоколи, като HTTP или FTP, трябва да бъдат заменени с техните шифровани варианти (HTTPS, FTPS), за да се избегне изпращането на потенциално чувствителни данни през ненадеждни мрежи като нешифрован текст. | Среден | Защита |
Уеб ресурси | web-sdl-no-msapp-exec-unsafe | Извикванията на MSApp.execUnsafeLocalFunction() заобикалят проверката за инжектиране на скриптове и трябва да се избягват. | Среден | Защита |
Уеб ресурси | web-sdl-no-postmessage-star-origin | Винаги посочвайте конкретен целеви произход, а не *, когато изпращате данни до други прозорци с postMessage, за да избегнете изтичане на данни извън границите на доверие. | Среден | Защита |
Уеб ресурси | web-sdl-no-winjs-html-unsafe | Извикванията към WinJS.Utilities.setInnerHTMLUnsafe() и подобни методи не извършват никаква проверка на входа и трябва да се избягват. Вместо това използвайте WinJS.Utilities.setInnerHTML(). | Среден | Защита |
Приложение на платно | приложение-формула-проблеми-висок | Отидете на Power Apps справка за формула за допълнителни подробности. | Критично | Проектиране |
Приложение на платно | приложение-формула-проблеми-среден | Вижте препратките за формули на Power Apps за допълнителни подробности. | Среден | Проектиране |
Приложение на платно | приложение-формула-проблеми-ниско | Вижте препратките за формули на Power Apps за допълнителни подробности. | Ниска | Проектиране |
Приложение на платно | app-use-delayoutput-text-input | Използвайте забавено натоварване в някои сценарии, за да подобрите производителността. | Среден | Производителност |
Приложение на платно | app-reduce-screen-controls | Ограничете броя на контролите за приложения за подобрена производителност. | Среден | Производителност |
Приложение на платно | етикет "включване-достъпен" | Използвайте явни етикети, за да подобрите достъпността на приложенията. | Среден | Достъпност |
Приложение на платно | приложение-включва-алтернативно-въвеждане | Уверете се, че всички интерактивни елементи са достъпни за алтернативни входове. | Среден | Достъпност |
Приложение на платно | приложение-избягване-автоматично стартиране | Избягвайте да използвате автоматично стартиране на плейъри в приложение. | Среден | Достъпност |
Вижте също
Най-добри практики и насоки за Dataverse
Най-добрите практики и насоки за базирани на модел приложения
Ощи проблеми и решения за инструмента за проверка на решения
Бележка
Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)
Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).