Mellorar o rendemento, a estabilidade e a fiabilidade da solución

As solucións úsanse para distribuír obxectos, como aplicacións, táboas, fluxos, recursos web e complementos. Power Platform Este artigo presenta a funcionalidade de verificación de solucións, unha ferramenta potente que realiza unha análise estática exhaustiva dos obxectos da solución fronte a un conxunto de regras de boas prácticas . Ao usar o verificador de solucións, podes identificar rapidamente patróns problemáticos nos teus compoñentes e recibir informes detallados que destacan os problemas, os compoñentes afectados e proporcionan ligazóns a documentación sobre como resolver cada problema. Isto garante que as túas solucións estean optimizadas para o rendemento, a estabilidade e a fiabilidade.

Resultados e detalles do exemplo do verificador de solucións

O verificador de solucións traballa con solucións non xestionadas que se poden exportar desde un ambiente.

Podes executar o comprobador de solucións desde Power Apps (make.powerapps.com) ou usando PowerShell.

Como che axuda o verificador de solucións

Para cumprir cos complexos requisitos empresariais, os fabricantes adoitan acabar con solucións moi avanzadas que personalizan e amplían o Power Platform... Con implementacións avanzadas aumenta o risco, porque se presentan problemas de rendemento, estabilidade e fiabilidade que poden afectar negativamente a experiencia de usuario. Identificar e comprender como resolver estes problemas pode ser complexo e laborioso. Coa funcionalidade de comprobación de solucións, podes realizar unha comprobación en cuestión de segundos na túa solución, que emprega un conxunto de regras de boas prácticas para identificar rapidamente patróns problemáticos. Unha vez finalizada a comprobación, recibirás un informe detallado nunha Power Apps mensaxe de correo electrónico que enumera os problemas identificados, os compoñentes e o código afectados e ligazóns á documentación que describe como resolver cada problema.

O verificador de solucións analiza estes compoñentes da solución:

  • Actividades de fluxo de traballo personalizado de Dataverse
  • Recursos web de Dataverse (HTML e JavaScript)
  • Configuracións de Dataverse, como pasos de mensaxes de SDK
  • Power Automate fluxos (a través do comprobador de fluxos)
  • Power Fx expresións (a través do comprobador de aplicacións)

Nota

  • O comprobador de solucións admite variables globais para ECMAScript 2015 (ES6) e ata sintaxe ECMAScript 2018 (ES9). Cando se detecta JavaScript usando variables globais posteriores a ES6 ou sintaxe posterior a ES9, infórmase dun problema de sintaxe non compatible coa web para o recurso web.
  • O uso do verificador de solucións non garante que a importación dunha solución sexa correcta. As comprobacións de análise estática realizadas contra a solución descoñecen o estado configurado do ambiente de destino e o éxito da importación pode depender doutras solucións ou configuracións do ambiente.

Executar o verificador de solucións

  1. Inicia sesión en Power Apps.

  2. No panel esquerdo, selecciona Solucións. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.

  3. Xunto á solución non xestionada que queres analizar, selecciona ..., vai a Comprobador de solucións e, a seguir, selecciona Executar.

    Executar o comando do comprobador de solucións.

  4. O botón de comando Comprobador de solucións ten un indicador de carga e verás un estado En execución… na columna Comprobación de solucións da lista Solucións .

Estado do verificador de solucións

Nota

  • O verificador de solucións pode tardar varios minutos en finalizar a análise.
  • Recibirás unha notificación por correo electrónico e unha notificación na área Notificacións do Power Apps sitio web cando se complete a comprobación.
  1. Consulta o informe cando se complete a comprobación.

Cancelar unha comprobación

Despois de enviar unha comprobación de solucións no seu entorno, esta pódese cancelar a través do panel de estado na área superior dereita da páxina Solucións .

Cando vostede cancela unha comprobación, a comprobación da solución deixa de executarse e a comprobación da solución volve ao estado anterior.

Estados do verificador de solucións

Ao instalar o verificador de solucións no seu entorno, a columna Comprobación de solucións pasa a estar dispoñible na lista Solucións . Nesta columna móstranse os estados de análise para unha solución.

Estado Descrición
Non se executou A solución non se analizou.
En execución A solución está a ser analizada.
Non se puido completar A análise de solucións solicitouse, pero non se completou correctamente.
Resultados a data e hora A análise de solucións se completou e los resultados están dispoñibles para descargar.
Non se puido completar. Resultado a data e hora A última solicitude de análise non se completou correctamente. Os últimos resultados correctos poden descargarse.
Comprobado por Microsoft Esta é unha solución xestionada por Microsoft. A análise de solucións non está permitida nestas solucións.
Comprobado polo editor Esta é unha solución non xestionada por Microsoft. Actualmente, a análise de solucións non está dispoñible para estas solucións.

Revise o informe do verificador de solucións

Cando se complete unha verificación de solución, pode ver o informe de análise no portal ou pode descargar o informe desde o seu navegador web. No portal, tes opcións para ordenar os resultados por Problema, Localización ou por Gravidade e ver información detallada dos problemas detectados na túa solución.

  1. No panel esquerdo, selecciona Solucións. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.

  2. Xunto á solución non xestionada onde quere ver o informe do verificador de solucións, seleccione ..., apunte a Verificador de solucións e, a seguir, seleccione Ver resultados.

  3. Selecciona un problema para ver os detalles e as instrucións sobre como resolvelo.

    Resultados e detalles de exemplo do verificador de solucións

Os resultados da verificación de solucións tamén están dispoñibles para descargar. O ficheiro zip do verificador de solucións descárgase no cartafol especificado polo explorador web. O informe de descarga está en formato Excel e contén varias visualizacións e columnas que che axudan a identificar o impacto, o tipo e a localización de cada problema detectado na túa solución. Tamén se facilita unha ligazón á orientación detallada sobre como resolver o problema.

  1. No panel esquerdo, selecciona Solucións. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.
  2. Xunto á solución non xestionada onde quere descargar o informe do verificador de solucións, seleccione ..., apunte a Verificador de solucións e, a seguir, seleccione Descargar resultados.
  3. O ficheiro zip do verificador de solucións descárgase no cartafol especificado polo explorador web.

Este é un resumo de cada columna do informe.

Columna de informe Descrición Aplícase ao compoñente
Problema O título do problema identificado na solución. Todo
Categoría A categorización do problema identificado, como Rendemento, Mantemento, Uso, Soporte, Deseño, Seguridade, Accesibilidade ou Preparación para a actualización. Todo
Severidade Representa o impacto potencial do problema identificado. Os tipos de impacto dispoñibles son Crítico, Alto, Medio, Baixo e Informativo. Todo
Axuda Ligazón ao artigo que detalla o problema, o impacto e a acción recomendada. Todo
da solución O compoñente de solucións onde se identificou o problema. Todo
Location A localización e/ou o ficheiro de orixe do compoñente onde se produciu o problema que identificou, como o ensamblado ou o nome do ficheiro JavaScript. Todo
Número de liña A referencia de número de liña do problema no compoñente do recurso web afectado. Recursos web
Módulo Nome do módulo onde se detectou o problema identificado no ensamblado. Actividade de fluxo de traballo personalizado
Tipo Tipo de problema identificado no ensamblado. Actividade de fluxo de traballo personalizado
Membro Membro do problema identificado no ensamblado. Actividade de fluxo de traballo personalizado
Declaración A declaración de código ou configuración produciu o problema. Todo
Comentarios Detalles acerca do problema que inclúen pasos de resolución de alto nivel. Todo

Executar as regras do comprobador de solucións localmente

Pode executar regras do comprobador de solucións no seu ambiente de desenvolvemento para detectar problemas moito antes mentres crea os seus recursos de solución. Isto é compatible actualmente con recursos web (JavaScript e TypeScript). Para obter máis detalles, vaia ao paquete NPM @microsoft/eslint-plugin-power-apps.

Executar o verificador de solucións usando PowerShell

Hai dispoñible un módulo de PowerShell que podes usar para interactuar directamente co servizo. O módulo Microsoft.PowerApps.Checker.PowerShell pode usarse para a análise de solucións non xestionadas para ambientes de Power Apps ou para automatizar e integrar o servizo nas súas canles de compilación e publicación. Máis información: Microsoft.PowerApps.Checker.PowerShell Información xeral

Regras de prácticas recomendadas usadas polo verificador de solucións

A seguinte táboa enumera o tipo de compoñente, a descrición da regra, a gravidade e a categoría. As infraccións críticas bloquéanse ou advírtense cando se configuran para a aplicación do verificador de solucións con entornos xestionados. Máis información: Usar o verificador de solucións en entornos xestionados

Compoñente da solución Nome da regra Descrición da regra Severidade Categoría
Complemento ou actividade de fluxo de traballo meta-eliminar-dup-reg Evite duplicar rexistros de complementos de Dataverse. Crítico Desempeño
Complemento ou actividade de fluxo de traballo meta-evitar-reg-sen-atributo Incluír atributos de filtrado con rexistros de complementos de Dataverse. Mediana Desempeño
Complemento ou actividade de fluxo de traballo meta-evitar-recuperar-reg Teña coidado cos complementos de Dataverse existrados para mensaxes de recuperación e de recuperación múltiple. Mediana Desempeño
Complemento ou actividade de fluxo de traballo meta-eliminar-inactivo Eliminar configuracións inactivas en Dataverse. Baixo Mantemento
Complemento ou actividade de fluxo de traballo evento meta-evitar-crm4 Non utilice a fase de rexistro de complementos Microsoft Dynamics CRM 4.0. Mediana Dispoñibilidade de actualización
Complemento ou actividade de fluxo de traballo meta-evitar-recuperar-anotación-múltiple Evite rexistrar un complemento en RetrieveMultiple de anotación. Alto Uso
Aplicación controlada por modelos operacións da entidade de vendas de metalicenzas A solución contén entidades con mensaxes e operacións do SDK restrinxidas que requiren unha licenza válida de Dynamics 365. Baixo Obtención de licenzas
Aplicación controlada por modelos meta-licenza-servizo-de-campo-controis-personalizados A solución contén controis personalizados que requiren unha licenza válida. Dynamics 365 Field Service Baixo Obtención de licenzas
Aplicación controlada por modelos meta-licenza-operacións-de-entidades-de-servizo-de-campo A solución contén entidades con mensaxes e operacións do SDK restrinxidas que requiren unha licenza válida. Dynamics 365 Field Service Baixo Obtención de licenzas
Recursos web uso asíncrono Interactúe con recursos HTTP e HTTPS asincronicamente. Crítico Desempeño
Recursos web evitar modais Evite o uso de diálogos modais. Alto Compatibilidade
Recursos web evitar-domin-formulario Alto Compatibilidade
Recursos web evitar-evento-de-formulario-dominante Alto Compatibilidade
Recursos web evitar-crm2011-servizo-odata Non se dirixa ao extremo de Microsoft Dynamics CRM 2011 OData 2.0. Crítico Dispoñibilidade de actualización
Recursos web evitar-crm2011-servizo-soap Non se dirixa aos servizos de Microsoft Dynamics CRM 2011 SOAP. Crítico Dispoñibilidade de actualización
Recursos web evitar-cargar-tema Non empregues a loadTheme API de Fluent v8. Baixo Compatibilidade
Recursos web evitar-api-específica-do-navegador Non utilice complementos do explorador ou API herdados de Internet Explorer. Crítico Dispoñibilidade de actualización
Recursos web API de evitar-unpublicar Alto Compatibilidade
Recursos web evitar-xanela-superior Alto Compatibilidade
Recursos web evitar-2011-api Non utilice o modelo de obxectos de Microsoft Dynamics CRM 2011 obsoleto. No seu lugar, siga a documentación da Dataverse API web . Alto Dispoñibilidade de actualización
Recursos web uso-uri-relativo Non utilice os URL de extremo absoluto de Dataverse. Mediana Mantemento
Recursos web usar-recurso-web-almacenado-en-caché Mediana Desempeño
Recursos web usar-contexto-cliente Utilice contextos de cliente. Mediana Dispoñibilidade de actualización
Recursos web usar-api-de-navegación Use os parámetros das API de navegación. Mediana Dispoñibilidade de actualización
Recursos web uso sen conexión Mediana Dispoñibilidade de actualización
Recursos web non-fagas-suposicións-dos-pais Alto Deseño
Recursos web usar-configuración-org Utilice a configuración de organización. Mediana Dispoñibilidade de actualización
Recursos web usar-contexto-global Mediana Dispoñibilidade de actualización
Recursos web usar-api-de-grella Utilice as API de grade. Mediana Dispoñibilidade de actualización
Recursos web usar-diálogos-de-utilidade Mediana Uso
Recursos web evitar-é-Tipo-de-Actividade Substitúa o método Xrm.Utility.isActivityType polo novo Xrm.Utility.gettableMetadata e non o utilice en regras de fita de opcións. Mediana Dispoñibilidade de actualización
Recursos web meta-evitar-luz-prateada O uso do recurso web de Silverlight quedou obsoleto. Mediana Dispoñibilidade de actualización
Recursos web eliminar-script-depuración Evita incluír scripts de depuración en entornos que non sexan de desenvolvemento. Mediana Uso
Recursos web usar-modo-estricto Use o modo estrito cando sexa posible. Mediana Uso
Recursos web usar operadores de igualdade estrita Use operadores de igualdade estritos. Mediana Uso
Recursos web evitar-avaliar Non empregues a función eval nin os seus equivalentes funcionais. Crítico Seguranza
Recursos web evitar con Non empregues o operador "con". Alto Desempeño
Recursos web eliminar-alerta Non use a función "alert" nin os seus equivalentes funcionais. Mediana Uso
Recursos web eliminar-consola Evite usar métodos na consola. Mediana Uso
Recursos web cinta de actualización da UI para evitar Evite usar refreshRibbon na forma onload e EnableRule. Crítico Desempeño
Recursos web usar-obterprivilexiosderoldeseguridadeinfo Evite userSettings.securityRolePrivileges. Use userSettings.getSecurityRolePrivilegesInfo no seu lugar. Alto Desempeño
Recursos web usar-api-do-panel-lateral-da-aplicación Usa Xrm.App.sidePanes.createPane en lugar de Xrm.Panels.loadPanel. Mediana Dispoñibilidade de actualización
Recursos web web-sdl-sen-cookies As cookies HTTP son un mecanismo de almacenamento antigo no lado do cliente con riscos e limitacións inherentes. Usa almacenamento web, IndexedDB ou outros métodos modernos no seu lugar. Mediana Seguranza
Recursos web web-sdl-sen-documento-dominio As escrituras na propiedade document.domain deben revisarse para evitar omitir as comprobacións da mesma orixe. O uso de dominios de nivel superior como azurewebsites.net está estritamente prohibido. Mediana Seguranza
Recursos web web-sdl-sen-escritura-en-documentos As chamadas a document.write ou document.writeln manipulan DOM directamente sen ningunha hixiene e deben evitarse. Usa document.createElement() ou métodos similares no seu lugar. Mediana Seguranza
Recursos web método web-sdl-sen-html As chamadas directas ao método html() a miúdo (por exemplo, no framework jQuery) manipulan o DOM sen ningunha hixiene e deben evitarse. Usa document.createElement() ou métodos similares no seu lugar. Mediana Seguranza
Recursos web web-sdl-sen-html interno As asignacións ás propiedades innerHTML ou outerHTML manipulan DOM directamente sen ningunha hixiene e deben evitarse. Usa document.createElement() ou métodos similares no seu lugar. Mediana Seguranza
Recursos web web-sdl-sen-url-inseguro Os protocolos pouco seguros, como HTTP ou FTP, deben substituírse polos seus homólogos cifrados (HTTPS, FTPS) para evitar o envío de datos potencialmente confidenciais a través de redes que non son de confianza en texto sen cifrar. Mediana Seguranza
Recursos web web-sdl-no-msapp-exec-unsegure As chamadas a MSApp.execUnsafeLocalFunction() omiten a validación da inxección do script e, polo tanto, deben evitarse. Mediana Seguranza
Recursos web web-sdl-sen-postmessage-star-orixe Forneza sempre a orixe de destino específica, non * ao enviar datos a outras ventás mediante postMessage para evitar fugas de datos fóra do límite de confianza. Mediana Seguranza
Recursos web web-sdl-no-winjs-html-inseguro As chamadas a WinJS.Utilities.setInnerHTMLUnsafe() e métodos similares non realizan ningunha validación de entrada e deben evitarse. Usa WinJS.Utilities.setInnerHTML() no seu lugar. Mediana Seguranza
Aplicación de lenzo problemas-de-fórmula-da-aplicación-altos Ir a Power Apps referencia de fórmula para obter máis detalles. Crítico Deseño
Aplicación de lenzo problema-de-fórmulas-da-aplicación-medio Consulte as referencias de fórmulas de Power Apps para ver máis detalles. Mediana Deseño
Aplicación de lenzo problemas-baixos-da-fórmula-da-aplicación Consulte as referencias de fórmulas de Power Apps para ver máis detalles. Baixo Deseño
Aplicación de lenzo entrada-de-texto-de-retardo-de-uso-da-aplicación Use a carga atrasada nalgúns escenarios para mellorar o rendemento. Mediana Desempeño
Aplicación de lenzo controis-de-redución-de-pantalla-da-aplicación Limite o número de controis da aplicación para mellorar o rendemento. Mediana Desempeño
Aplicación de lenzo etiqueta-accesible-de-inclusión-da-aplicación Use etiquetas explícitas para mellorar a accesibilidade á aplicación. Mediana Accesibilidade
Aplicación de lenzo aplicación-incluír-entrada-alternativa Asegúrese de que todos os elementos interactivos sexan accesibles a entradas alternativas. Mediana Accesibilidade
Aplicación de lenzo aplicación-evitar-inicio automático Evite o inicio automático en reprodutores dunha aplicación. Mediana Accesibilidade
Fluxo de escritorio desktopflow-evitar-contrasinal-inseguro Os contrasinais xestiónanse de forma pouco segura no fluxo. Alto Seguranza
Fluxo de escritorio desktopflow-evitar-subfluxo-recursión Detectáronse chamadas recorrentes entre subfluxos, o que pode causar un bucle infinito. Mediana Deseño
Fluxo de escritorio desktopflow-evitar-bucle-infinito Detectouse un bucle infinito no fluxo que pode causar que se execute de xeito indefinido. Mediana Deseño
Fluxo de escritorio desktopflow-evitar-incompleto-se-rama Detectouse unha acción If incompleta, que non ten contido ou que só contén accións na ramificación Else. Baixo Deseño
Fluxo de escritorio desktopflow-evitar-excesivos-IF aniñados As cláusulas If aniñadas superan os cinco niveis. Baixo Mantemento
Fluxo de escritorio desktopflow-evitar-bloqueo-baleiro-en-erro A acción de "Erro no bloque" está baleira e non xestiona erros. Baixo Deseño
Fluxo de escritorio número-de-argumentos-límite-de-desktopflow O número total de variables de entrada/saída superan o límite de 25. Baixo Mantemento
Fluxo de escritorio valor-predeterminado-do-argumento-de-entrada-de-desktopflow As variables de entrada/saída non usan valores predeterminados. Baixo Mantemento
Fluxo de escritorio lonxitude-do-nome-da-variable-límite-de-desktopflow O nome da variable supera o límite de 25 caracteres. Baixo Mantemento
Fluxo de escritorio desktopflow-evitar-accións-de-espera-excesivas Detectouse un uso indebido das accións de espera, con máis de 10 accións de espera que poden causar atoamentos. Baixo Desempeño
Fluxo de escritorio desktopflow-evitar-duración-de-espera-inmensa Detectouse un tempo de espera inmenso que supera o límite de 600 segundos para accións de espera codificadas. Baixo Desempeño

Consulte tamén

Boas prácticas e orientación para o Dataverse
Prácticas recomendadas e orientación para aplicacións baseadas en modelos
Problemas e resolucións comúns para o Comprobador de solucións