Çözüm performansını, kararlılığını ve güvenilirliğini artırın

Uygulamalar, tablolar, akışlar, web kaynakları ve eklentiler gibi Power Platform nesnelerini dağıtmak için çözümler kullanılır. Bu makalede, çözüm nesnelerinizin en iyi uygulama kuralları kümesine göre kapsamlı bir statik analizini gerçekleştiren güçlü bir araç olan çözüm denetleyicisi özelliği tanıtılmaktadır. Çözüm denetleyicisini kullanarak, bileşenlerinizdeki sorunlu desenleri hızlı bir şekilde tanımlayabilir ve sorunları, etkilenen bileşenleri vurgulayan ve her sorunun nasıl çözüleceğine ilişkin belgelere bağlantılar sağlayan ayrıntılı raporlar alabilirsiniz. Bu, çözümlerinizin performans, kararlılık ve güvenilirlik için optimize edilmesini sağlar.

Çözüm denetleyicisi örneği: sonuçlar ve ayrıntılar

Çözüm denetçisi, bir ortamdan dışa aktarılabilen yönetilmeyen çözümler ile çalışır.

Çözüm denetleyicisini Power Apps'den (make.powerapps.com) veya PowerShell'i kullanarak çalıştırabilirsiniz.

Çözüm denetleyicisi size nasıl yardımcı olur?

Karmaşık iş gereksinimlerini karşılamak için üreticiler genellikle Power Platform'i özelleştiren ve genişleten son derece gelişmiş çözümlerle sonuçlanabilirler. Gelişmiş uygulamalar performans, stabilite ve güvenilirlik sorunlarının oluşmasına neden olabilecek riskleri artırır. Bu durum kullanıcı deneyimini olumsuz etkileyebilir. Tanımlama ve bu sorunların nasıl giderileceğini anlama karmaşık ve zaman alıcı olabilir. Çözüm denetleyicisi özelliğiyle, sorunlu kalıpları hızla belirlemek için en iyi uygulama kurallarını kullanan çözümünüz üzerinde saniyeler içinde bir denetim gerçekleştirebilirsiniz. Kontrol tamamlandıktan sonra, Power Apps'de ayrıntılı bir rapor ve ayrıca tespit edilen sorunları, etkilenen bileşenleri ve kodları listeleyen ve her sorunun nasıl çözüleceğini açıklayan belgelere bağlantılar içeren bir e-posta mesajı alırsınız.

Çözüm denetleyicisi, bu çözüm bileşenlerini denetler:

  • Dataverse özel iş akışı aktiviteleri
  • Dataverse web kaynakları (HTML ve JavaScript)
  • Dataverse yapılandırmaları, SDK mesaj adımları gibi
  • Power Automate akışları (akış denetleyicisi aracılığıyla)
  • Power Fx ifadeleri (uygulama denetleyicisi aracılığıyla)

Not

  • Çözüm denetleyici ECMAScript 2015 (ES6) ile ECMAScript 2018 (ES9) arasındaki söz dizimleri için genel değişkenleri destekler. ES6'den daha sonraki genel değişkenler veya ES9 sonrası söz dizimi kullanılarak JavaScript algılandığında, web kaynağı için web tarafından desteklenmeyen bir söz dizimi sorunu bildirilir.
  • Çözüm denetleyicisinin kullanımı, çözüm içeri aktarmanın başarılı olacağını garanti etmez. Çözüme karşı gerçekleştirilen statik çözümleme denetimleri, hedef ortamın yapılandırılmış durumunu bilmez ve içeri aktarma işleminin başarısı ortamdaki diğer çözümlere veya yapılandırmalara bağlı olabilir.

Çözüm denetçisini çalıştırın

  1. Power Apps'a oturum açın.

  2. Sol bölmede Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.

  3. Analiz etmek istediğiniz yönetilmeyen çözünün yanında ... seçerek Çözüm denetçisi'ne işaret edin ve sonra Çalıştır'ı seçin.

    Çözüm denetçisi komutunu çalıştırma.

  4. Çözüm denetleyicisi komut düğmesinde bir yükleme göstergesi bulunur ve Çözüm listesinin Çözüm denetimi sütununda bir Çalışıyor... durumu fark edeceksiniz.

Çözüm denetçisi durumu

Not

  • Çözüm denetleyicisi analizinin tamamlanması birkaç dakika sürebilir.
  • Denetleme işlemi tamamlandığında Power Apps sitesinin Bildirimler alanında bir bildirimin yanı sıra bir e-posta bildirimi de alırsınız.
  1. Denetleme sona erdiğinde Raporu görüntüleyin.

Bir çeki iptal etmek

Ortamınızda bir çözüm denetimi gönderdikten sonra, denetim Çözümler sayfasının sağ üst kısmındaki durum bölmesinden iptal edilebilir.

Denetlemeyi iptal ettiğinizde çözüm denetimi çalışmayı durdurur ve çözüm denetimi durumu önceki durumuna döner.

Çözüm denetleyicisinin durumları

Ortamınızda çözüm denetleyicisi yüklediğinizde, Çözüm denetlemesi sütun kullanılabilir duruma gelir, Çözümler listesinde. Bu sütun, bir çözüm için çözüm çözümleme durumları gösterir.

Durum Açıklama
Çalıştırılmadı Çözüm daha önce hiç çözümlenmemiş.
Çalışıyor Çözüm analiz ediliyor.
Tamamlanamadı Çözüm analizi istendi ancak analiz başarıyla tamamlanmadı.
Tarih ve saat itibarıyla sonuçlar Çözüm analizi tamamlandı ve sonuçlar indirilebilir.
Tamamlanamadı. Tarih ve saat itibarıyla sonuç Son analiz isteği başarıyla tamamlanmadı. Son başarılı sonuçlar indirilebilir.
Microsoft tarafından denetlendi Bu, Microsoft tarafından yönetilen bir çözümdür. Çözüm analizine, bu çözümlerde izin verilmez.
Yayıncı tarafından denetlendi Bu, Microsoft dışı tarafından yönetilen bir çözümdür. Şu anda, çözüm analizi bu çözümler için kullanılamaz.

Çözüm denetleyicisi raporunu gözden geçirin

Çözüm denetimi tamamlandığında analiz raporunu portalda görüntüleyebilir veya raporu web tarayıcınızdan indirebilirsiniz. Portalda, sonuçları Sorun, Konum veya Önem Derecesi'ne göre sıralama ve çözümünüzde algılanan sorunlar için ayrıntılı bilgileri görüntüleme seçenekleri bulunur.

  1. Sol bölmede Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.

  2. Çözüm denetçisi raporunu görüntülemek istediğiniz yönetilmeyen çözümün yanında ... seçin, Çözüm denetçisi'ne işaret edin ve sonra Sonuçları görüntüle'yi seçin.

  3. Ayrıntıları ve çözüm kılavuzunu görüntülemek için bir sorun seçin.

    Çözüm denetleyicisi örnek sonuçları ve ayrıntılı inceleme

Çözüm denetimi sonuçları ayrıca indirilebilir. Çözüm denetleyicisi zip dosyası, web tarayıcınız tarafından belirtilen klasöre yüklenir. Rapor indirme Excel biçimindedir ve çözümünüzde bulunan her bir sorunun etkisini, türünü ve konusunu tespit etmenize yarayan çeşitli görselleştirmeler ve sütunlar içerir. Bir sorunu gidermeye yönelik ayrıntılı yönergeler içeren bağlantı de sağlanır.

  1. Sol bölmede Çözümler'i seçin. Öğe yan panel bölmesinde yoksa ...Diğer'i ve ardından istediğiniz öğeyi seçin.
  2. Çözüm denetçisi raporunu indirmek istediğiniz yönetilmeyen çözümün yanında ... seçin, Çözüm denetçisi'ne işaret edin ve sonra Sonuçları indir'i seçin.
  3. Çözüm denetleyicisi zip dosyası, web tarayıcınız tarafından belirtilen klasöre yüklenir.

Burada, rapordaki her bir sütunun özetini sunulmuştur.

Rapor sütunu Açıklama Bileşene uygulanır
Sorun Çözümde tanımlanan sorunun başlığı. Tümü
Kategori Belirlenen sorunun kategorileri, örneğin, Performans, Devamlılık, Kullanım, Desteklenebilirlik, Tasarım, Güvenlik, Erişilebilirlik veya Yükseltme hazırlığı. Tümü
Önem Derecesi Tanımlanan sorununun olası etkisini gösterir. Kullanılabilir etki türleri: Kritik, Yüksek, Orta, Düşük ve Bilgilendirici. Tümü
Yönergeler Sorunun etkisini ayrıntılı olarak bildiren ve önerilen işlem makalesine bağlantı. Tümü
Bileşen Sorunun tespit edildiği çözüm bileşeni. Tümü
Konum Belirlenen sorunun oluştuğu bileşenin konumu ve/veya kaynak dosyası; örneğin derleme veya JavaScript dosyasının adı. Tümü
Satır Numarası Etkilenen web kaynağı bileşenindeki sorunu satır numarası başvurusu. Web kaynakları
Modül Derlemede tanımlanan sorunun tespit edildiği modül adı. Özel iş akışı etkinliği
Türü Derleme içinde tespit edilen sorunun türü. Özel iş akışı etkinliği
Üye Derleme içinde tespit edilen sorunun üyesi. Özel iş akışı etkinliği
İfade Sorun ile sonuçlanan kod deyimi veya yapılandırma. Tümü
Yorumlar Yüksek düzey çözüm adımlarını içeren sorun hakkındaki ayrıntılar. Tümü

Çözüm denetleyici kurallarını yerel olarak çalıştırma

Çözüm kaynaklarını oluştururken çok daha erken sorunları saptamak için, geliştirme ortamınızda çözüm denetleyicisi kurallarını çalıştırabilirsiniz. Bu, şu anda Web kaynakları (JavaScript ve TypeScript) için desteklenmektedir. Daha fazla ayrıntı için, NPM paketi @microsoft/eslint-plugin-power-apps öğesine gidin.

PowerShell kullanarak çözüm denetleyicisini çalıştırma

Ayrıca, hizmetle doğrudan etkileşim kurmak için kullanabileceğiniz bir PowerShell modülü kullanılabilir. Microsoft.PowerApps.Checker.PowerShell modülü, Power Apps ortamlarındaki yönetilmeyen çözümleri analiz etmek veya hizmeti otomatikleştirip derleme ve yayın işlem hatlarınıza tümleştirmek için kullanılabilir. Daha fazla bilgi: Microsoft.PowerApps.Checker.PowerShell'e Genel Bakış

Çözüm denetleyicisi tarafından kullanılan en iyi yöntem kuralları

Aşağıdaki tabloda bileşen türü, kural açıklaması, önem derecesi ve kategori listelenmektedir. Yönetilen ortamlarla kritik ihlaller çözüm denetleyicisi zorlaması için yapılandırıldığında engellenir veya uyarılır. Daha fazla bilgi: Yönetilen Ortamlarda çözüm denetleyiciyi kullanma

Çözüm bileşeni Kural adı Kural açıklaması Önem Derecesi Kategori
Eklenti veya iş akışı etkinliği meta-remove-dup-reg Yinelenen Dataverse eklenti kayıtlarından kaçının. Kritik Performans
Eklenti veya iş akışı etkinliği meta-avoid-reg-no-attribute Dataverse eklenti kayıtlarıyla birlikte filtreleme özniteliklerini ekleyin. Orta Performans
Eklenti veya iş akışı etkinliği meta-avoid-reg-retrieve Retrieve ve RetrieveMultiple iletileri için kaydedilmiş Dataverse eklentileri konusunda dikkatli olun. Orta Performans
Eklenti veya iş akışı etkinliği meta-remove-inactive Dataverse'teki etkin olmayan yapılandırmaları kaldırın. Düşük Devamlılık
Eklenti veya iş akışı etkinliği meta-avoid-crm4-event Microsoft Dynamics CRM 4.0 eklenti kaydı aşamasını kullanmayın. Orta Yükseltme hazırlığı
Eklenti veya iş akışı etkinliği meta-avoid-retrievemultiple-annotation Ek açıklama RetrieveMultiple öğesine bir eklenti kaydetmekten kaçının. Yüksek Kullanım
Model temelli uygulama meta-license-sales-entity-operations Çözüm, geçerli bir Dynamics 365 lisansı gerektiren kısıtlı SDK iletileri ve işlemleri olan varlıkları içeriyor. Düşük Lisanslama
Model temelli uygulama meta-license-fieldservice-customcontrols Çözüm, geçerli bir Dynamics 365 Field Service lisansı gerektiren özel denetimler içerir. Düşük Lisanslama
Model temelli uygulama meta-license-fieldservice-entity-operations Çözüm, geçerli bir Dynamics 365 Field Service lisansı gerektiren kısıtlı SDK iletilerine ve işlemlerine sahip varlıklar içerir. Düşük Lisanslama
Web Kaynakları use-async HTTP ve HTTPS kaynakları ile eş zamanlı olmayan şekilde etkileşime girin. Kritik Performans
Web Kaynakları avoid-modals Modal iletişim kutularını kullanmaktan kaçının. Yüksek Desteklenebilirlik
Web Kaynakları avoid-dom-form Yüksek Desteklenebilirlik
Web Kaynakları avoid-dom-form-event Yüksek Desteklenebilirlik
Web Kaynakları avoid-crm2011-service-odata Microsoft Dynamics CRM 2011 OData 2.0 uç noktasını hedeflemeyin. Kritik Yükseltme hazırlığı
Web Kaynakları avoid-crm2011-service-soap Microsoft Dynamics CRM 2011 SOAP hizmetlerini hedeflemeyin. Kritik Yükseltme hazırlığı
Web Kaynakları avoid-loadtheme loadTheme Fluent v8 API'sini kullanmayın. Düşük Desteklenebilirlik
Web Kaynakları avoid-browser-specific-api Internet Explorer eski API'lerini veya tarayıcı eklentilerini kullanmayın. Kritik Yükseltme hazırlığı
Web Kaynakları avoid-unpub-api Yüksek Desteklenebilirlik
Web Kaynakları avoid-window-top Yüksek Desteklenebilirlik
Web Kaynakları avoid-2011-api Kullanı dışı Microsoft Dynamics CRM 2011 nesne modelini kullanmayın. Bunun yerine, Dataverse Web API'si belgelerindeki yönergeleri uygulayın. Yüksek Yükseltme hazırlığı
Web Kaynakları use-relative-uri Mutlak Dataverse uç noktası URL'lerini kullanmayın. Orta Devamlılık
Web Kaynakları use-cached-webresource Orta Performans
Web Kaynakları use-client-context İstemci bağlamları kullanın. Orta Yükseltme hazırlığı
Web Kaynakları use-navigation-api Gezinme API'si parametrelerini kullanın. Orta Yükseltme hazırlığı
Web Kaynakları use-offline Orta Yükseltme hazırlığı
Web Kaynakları ebeveyn-varsayımı-yapma Yüksek Tasarım
Web Kaynakları use-org-setting Organizasyon ayarlarını kullanın. Orta Yükseltme hazırlığı
Web Kaynakları use-global-context Orta Yükseltme hazırlığı
Web Kaynakları use-grid-api Izgara API'lerini kullanın. Orta Yükseltme hazırlığı
Web Kaynakları use-utility-dialogs Orta Kullanım
Web Kaynakları avoid-isActivityType Xrm.Utility.isActivityType yöntemini yeni Xrm.Utility.gettableMetadata ile değiştirin ve şerit kurallarında kullanmayın. Orta Yükseltme hazırlığı
Web Kaynakları meta-avoid-silverlight Silverlight web kaynağı kullanımı kaldırıldı. Orta Yükseltme hazırlığı
Web Kaynakları remove-debug-script Geliştirme olmayan ortamlarda hata ayıklama komut dosyasını eklemeyin. Orta Kullanım
Web Kaynakları use-strict-mode Mümkünse katı modu kullanın. Orta Kullanım
Web Kaynakları katı-eşitlik-işleçlerini-kullan Kesin eşitlik işleçleri kullanın. Orta Kullanım
Web Kaynakları avoid-eval eval işlevini veya işlev eşdeğerlerini kullanmayın. Kritik Güvenlik
Web Kaynakları avoid-with 'with' işlecini kullanmayın. Yüksek Performans
Web Kaynakları remove-alert "Alert" işlevini veya işlevsel eşdeğerlerini kullanmayın. Orta Kullanım
Web Kaynakları remove-console Konsolda yöntemleri kullanmaktan kaçının. Orta Kullanım
Web Kaynakları avoid-ui-refreshribbon Form onload ve EnableRule'da refreshRibbon kullanmaktan kaçının. Kritik Performans
Web Kaynakları use-getsecurityroleprivilegesinfo userSettings.securityRolePrivileges öğesini kullanmaktan kaçının. Bunun yerine userSettings.getSecurityRolePrivilegesInfo kullanın. Yüksek Performans
Web Kaynakları use-appsidepane-api Xrm.App.sidePanes.createPane instead of Xrm.Panels.loadPanel kullanın. Orta Yükseltme hazırlığı
Tuval Uygulaması app-formula-issues-high Daha fazla ayrıntı için Power Apps formül referansına gidin. Kritik Tasarım
Tuval Uygulaması app-formula-issues-medium Ek ayrıntılar için Power Apps formül başvurularına bakın. Orta Tasarım
Tuval Uygulaması app-formula-issues-low Ek ayrıntılar için Power Apps formül başvurularına bakın. Düşük Tasarım
Tuval Uygulaması app-use-delayoutput-text-input Performansı artırmak için bazı senaryolarda gecikmiş yükü kullanın. Orta Performans
Tuval Uygulaması app-reduce-screen-controls Gelişmiş performans için uygulama denetimlerinin sayısını sınırlayın. Orta Performans
Tuval Uygulaması app-include-accessible-label Uygulama erişilebilirliğini artırmak için açık etiketler kullanın. Orta Erişilebilirlik
Tuval Uygulaması app-include-alternative-input Tüm etkileşimli öğelerin alternatif girdiler için erişilebilir olduğundan emin olun. Orta Erişilebilirlik
Tuval Uygulaması app-avoid-autostart Uygulama içindeki oynatıcılarda otomatik başlatmayı kullanmaktan kaçının. Orta Erişilebilirlik
Masaüstü iş akışı desktopflow-avoid-unsafe-password Parolalar akışta güvensiz bir şekilde yönetiliyor. Yüksek Güvenlik
Masaüstü iş akışı desktopflow-avoid-subflow-recursion İkincil akışlar arasında sonsuz döngüye neden olabilecek tekrarlanan çağrılar algılandı. Orta Tasarım
Masaüstü iş akışı desktopflow-avoid-infinite-loop Akışta sonsuz döngü algılandı. Bu durum, akışın süresiz olarak çalışmasına neden olabilir. Orta Tasarım
Masaüstü iş akışı desktopflow-avoid-incomplete-if-branch Tamamlanmamış "If" eylemi algılandı, içerik eksik veya yalnızca "Else" dalındaki eylemleri içeriyor. Düşük Tasarım
Masaüstü iş akışı desktopflow-avoid-excessive-nested-ifs İç içe geçmiş If ifadeleri beş seviyeyi aşar. Düşük Devamlılık
Masaüstü iş akışı desktopflow-avoid-empty-on-error-block "Blokta hatası" eylemi boş ve hataları işlemiyor. Düşük Tasarım
Masaüstü iş akışı desktopflow-limit-argument-count Toplam giriş/çıkış değişkenleri 25 değişken sınırını aşıyor. Düşük Devamlılık
Masaüstü iş akışı desktopflow-input-argument-default-value Giriş/çıkış değişkenleri, varsayılan değerleri kullanmıyor. Düşük Devamlılık
Masaüstü iş akışı desktopflow-limit-variable-name-length Değişken adı, 25 karakter sınırını aşıyor. Düşük Devamlılık
Masaüstü iş akışı desktopflow-avoid-excessive-wait-actions Bekleme eylemlerinin kötüye kullanıldığı tespit edildi; 10'dan fazla bekleme eylemi potansiyel darboğazlara neden oluyor. Düşük Performans
Masaüstü iş akışı desktopflow-avoid-immense-wait-duration Sabit kodlu bekleme eylemleri için 600 saniye sınırını aşan büyük bir bekleme süresi algılandı. Düşük Performans

Ayrıca bkz.

Dataverse için en iyi uygulamalar ve kılavuz
model temelli uygulamalar için en iyi uygulamalar ve kılavuz
Çözüm Denetleyicisi için yaygın sorunlar ve çözümleri