Aracılığıyla paylaş


Çözüm denetleyicisiyle bileşen performansını, kararlılığını ve güvenilirliğini artırma

Üreticiler genellikle karmaşık iş gereksinimlerini karşılamak için Microsoft Dataverse platformunu özelleştiren ve genişleten son derece gelişmiş çözümler kullanır. 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ğini kullanarak, bir zengin statik çözümleme denetim çözümlerinizi en iyi yöntem kuralları kümesiyle gerçekleştirebilir ve hızlı bir şekilde bu soruna neden olan desenleri belirlemek. Denetim tamamlandıktan sonra tanımlanan sorunları listeler ayrıntılı bir rapor, bileşenleri ve etkilenen kod ve her bir sorunun nasıl giderileceğini açıklayan belgelere bağlantılar görüntülenir.

Çö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 ileti adımı gibi.
  • Power Automate akışları (akış denetleyicisi aracılığıyla)
  • Power Fx ifadeleri (akış denetleyicisi aracılığıyla)

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

Not

  • Bu konuda, Power Apps geliştirici portalındaki çözüm denetleyicisinin nasıl kullanılacağı açıklanmaktadır. Ayrıca, hizmetle doğrudan etkileşim kurmak için kullanabileceğiniz bir PowerShell modülü de kullanılabilir. Microsoft.PowerApps.Checker.PowerShell modülü, şirket içi ve çevrimiçi ortamların desteklenen sürümleri için Power Apps ortamlarının yönetilmeyen çözümlerin analizi veya hizmeti otomatikleştirip derleme ve sürüm işlem hatlarınızla tümleştirmek için kullanılabilir. Daha fazla bilgi: Microsoft.PowerApps.Checker.PowerShell'e Genel Bakış
  • Çö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'te oturum açın.

  2. Sol panoda Çö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 vardır ve Çalışıyor... olarak görünür durumunu (Çözüm listesinde Çözüm denetimi sütununda) görürsünüz.

    Çözüm denetçisi durumu.

    Aşağıdakileri dikkate alın:

    • Çö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.

  5. Denetleme sona erdiğinde Raporu görüntüleyin.

Bir denetlemeyi iptal etmek

Ortamınızda çözümler onay gönderdikten sonra denetimi sağ üst alanındaki durum bölmesi aracılığıyla iptal edilebilir Çözümler sayfasında.

Denetlemeyi iptal ettiğinizde çözüm denetimi çalışmadığında ve çözüm onay durumunu önceki bir duruma geri döndürür.

Çözüm denetçisi 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, üçüncü taraf yönetimli 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 panoda Çö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 denetçisi görüntüleme sonuçları.

Çö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. İndirme raporu 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 panoda Çö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
Öğe Çö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ünü
Önem derecesi Tanımlanan sorununun olası etkisini gösterir. Kullanılabilir etki türleri: Kritik, Yüksek, Orta, Düşük ve Bilgilendirici. Tümünü
Rehber 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ü
Location Tanımlanan sorununun, derleme ya da JavaScript dosya adı gibi gerçekleştiği konum ve/veya kaynak dosyası bileşeni. Tümü
Çizgi # 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
Deyim 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ünü

Çö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 bilgi için NPM paketi @microsoft/eslint-plugin-power-apps bölümüne gidin.

Çö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ını kullanmaktan 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. Medium Performans
Eklenti veya iş akışı etkinliği meta-avoid-reg-retrieve Al ve BirdenFazlaAl iletileri için kaydedilen Dataverse eklentilerini kullanırken dikkatli olun. Medium 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. Medium 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 Kalıcı 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. Medium Devamlılık
Web Kaynakları use-cached-webresource Medium Performans
Web Kaynakları use-client-context İstemci bağlamları kullanın. Medium Yükseltme hazırlığı
Web Kaynakları use-navigation-api Gezinme API'si parametrelerini kullanın. Medium Yükseltme hazırlığı
Web Kaynakları use-offline Medium Yükseltme hazırlığı
Web Kaynakları do-not-make-parent-assumption Yüksek Tasarla
Web Kaynakları use-org-setting Organizasyon ayarlarını kullanın. Medium Yükseltme hazırlığı
Web Kaynakları use-global-context Medium Yükseltme hazırlığı
Web Kaynakları use-grid-api Izgara API'lerini kullanın. Medium Yükseltme hazırlığı
Web Kaynakları use-utility-dialogs Medium 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. Medium Yükseltme hazırlığı
Web Kaynakları meta-avoid-silverlight Silverlight web kaynağı kullanımı kaldırıldı. Medium Yükseltme hazırlığı
Web Kaynakları remove-debug-script Geliştirme olmayan ortamlarda hata ayıklama komut dosyasını eklemeyin. Medium Kullanım
Web Kaynakları use-strict-mode Mümkünse katı modu kullanın. Medium Kullanım
Web Kaynakları use-strict-equality-operators Kesin eşitlik işleçleri kullanın. Medium Kullanım
Web Kaynakları avoid-eval 'Eval' işlevini veya işlev eşdeğerlerini kullanmayın. Kritik Güvenlik
Web Kaynakları ile kullanmaktan kaçının "ile" işlecini kullanmayın. Yüksek Performans
Web Kaynakları remove-alert "Alert" işlevini veya işlevsel eşdeğerlerini kullanmayın. Medium Kullanım
Web Kaynakları remove-console Konsolda yöntemleri kullanmaktan kaçının. Medium 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. Medium Yükseltme hazırlığı
Web Kaynakları web-sdl-no-cookies HTTP tanımlama bilgileri, devralınan riskler ve sınırlamalar içeren eski bir istemci tarafı depolama mekanizmasıdır. Bunun yerine Web Depolama, IndexedDB veya diğer modern yöntemler kullanın. Medium Güvenlik
Web Kaynakları web-sdl-no-document-domain same.origin denetimlerinin atlanmaması için document.domain özelliğine yazmaların gözden geçirilmesi gerekir. azurewebsites.net gibi üst düzey etki alanlarının kullanımı kesinlikle yasaktır. Medium Güvenlik
Web Kaynakları web-sdl-no-document-write document.write veya document.writeln çağrıları herhangi bir temizleme olmadan doğrudan DOM'u değiştirir ve bundan kaçınılmalıdır. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. Medium Güvenlik
Web Kaynakları web-sdl-no-html-method Doğrudan yöntem html() çağrıları (örneğin, jQuery çerçevesi) genellikle herhangi bir temizleme olmadan DOM'u manipüle eder ve bundan kaçınılması gerekir. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. Medium Güvenlik
Web Kaynakları web-sdl-no-inner-html innerHTML veya outerHTML özelliğine yapılan atamalar herhangi bir temizleme olmadan doğrudan DOM'u değiştirir ve bundan kaçınılmalıdır. Bunun yerine document.createElement() veya benzeri yöntemler kullanın. Medium Güvenlik
Web Kaynakları web-sdl-no-insecure-url Güvenilmeyen ağlar üzerinden potansiyel olarak hassas verilerin düz metin olarak gönderilmesini önlemek için, HTTP veya FTP gibi güvenli olmayan protokoller şifrelenmiş karşılıklarıyla (HTTPS, FTPS) değiştirilmelidir. Medium Güvenlik
Web Kaynakları web-sdl-no-msapp-exec-unsafe MSApp.execUnsafeLocalFunction() çağrıları betik ekleme doğrulamasını atlar ve bundan kaçınılmalıdır. Medium Güvenlik
Web Kaynakları web-sdl-no-postmessage-star-origin Güven sınırının dışında veri sızıntısı oluşmasını önlemek için postMessage kullanarak diğer pencerelere veri gönderirken her zaman belirli bir hedef kaynak sağlayın, * kullanmayın. Medium Güvenlik
Web Kaynakları web-sdl-no-winjs-html-unsafe WinJS.Utilities.setInnerHTMLUnsafe() çağrıları ve benzer yöntemler herhangi bir giriş doğrulaması yapmaz ve bundan kaçınılmalıdır. Bunun yerine WinJS.Utilities.setInnerHTML() kullanın. Medium Güvenlik
Tuval Uygulaması app-formula-issues-high Ek ayrıntılar için Power Apps formül başvurularına bakın. Kritik Tasarla
Tuval Uygulaması app-formula-issues-medium Ek ayrıntılar için Power Apps formül başvurularına bakın. Medium Tasarla
Tuval Uygulaması app-formula-issues-low Ek ayrıntılar için Power Apps formül başvurularına bakın. Düşük Tasarla
Tuval Uygulaması app-use-delayoutput-text-input Performansı artırmak için bazı senaryolarda gecikmiş yükü kullanın. Medium Performans
Tuval Uygulaması app-reduce-screen-controls Gelişmiş performans için uygulama denetimlerinin sayısını sınırlayın. Medium Performans
Tuval Uygulaması app-include-accessible-label Uygulama erişilebilirliğini artırmak için açık etiketler kullanın. Medium Erişilebilirlik
Tuval Uygulaması app-include-alternative-input Tüm etkileşimli öğelerin alternatif girdiler için erişilebilir olduğundan emin olun. Medium Erişilebilirlik
Tuval Uygulaması app-avoid-autostart Uygulama içindeki oynatıcılarda otomatik başlatmayı kullanmaktan kaçının. Medium Erişilebilirlik

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

Not

Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)

Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).