Cải thiện hiệu suất, độ ổn định và độ tin cậy của thành phần bằng trình kiểm tra giải pháp

Để đáp ứng các yêu cầu kinh doanh phức tạp, các nhà sản xuất thường có thể sử dụng các giải pháp tiên tiến cao để tùy chỉnh và mở rộng nền tảng Microsoft Dataverse . Việc triển khai nâng cao đi kèm rủi ro gia tăng đối với vấn đề về hiệu suất, tính ổn định và độ tin cậy. Điều này có thể tác động tiêu cực đến trải nghiệm của người dùng cuối. Việc xác định và tìm hiểu cách giải quyết những vấn đề này có thể phức tạp và tốn thời gian. Với tính năng trình kiểm tra giải pháp, bạn có thể thực hiện kiểm tra phân tích tĩnh phức hợp đối với các giải pháp của bạn so với bộ quy tắc phương pháp tốt nhất và nhanh chóng phát hiện các mẫu có vấn đề này. Sau khi hoàn tất kiểm tra, bạn sẽ nhận được một báo cáo chi tiết liệt kê các vấn đề đã xác định, thành phần và mã bị ảnh hưởng cũng như liên kết đến tài liệu mô tả cách giải quyết từng vấn đề.

Trình kiểm tra giải pháp phân tích những thành phần giải pháp này:

  • Hoạt động tùy chỉnh của quy trình Dataverse
  • Tài nguyên web Dataverse (HTML và JavaScript)
  • Cấu hình Dataverse như các bước thông báo SDK
  • Power Automate luồng (thông qua trình kiểm tra luồng)
  • Power Fx biểu thức (thông qua trình kiểm tra ứng dụng)

Trình kiểm tra giải pháp hoạt động với các giải pháp không được quản lý có thể được xuất từ một môi trường.

Lưu ý

  • Chủ đề này giải thích cách chạy trình kiểm tra giải pháp từ cổng thông tin người tạo Power Apps. Một mô-đun PowerShell cũng có sẵn mà bạn có thể dùng để tương tác trực tiếp với dịch vụ. Bạn có thể dùng mô-đun Microsoft.PowerApps.Checker.PowerShell để phân tích các giải pháp được quản lý và không được quản lý cho phiên bản được hỗ trợ của môi trường Power Apps và trực tuyến hoặc để tự động hóa và tích hợp dịch vụ vào quy trình xây dựng và phát hành. Thông tin thêm: Microsoft.PowerApps.Checker.PowerShell Tổng quan
  • Trình kiểm tra giải pháp hỗ trợ các biến toàn cầu cho cú pháp ECMAScript 2015 (ES6) và lên tới ECMAScript 2018 (ES9). Khi phát hiện JavaScript bằng cách sử dụng các biến toàn cầu thấp hơn ES6 hoặc cú pháp thấp hơn ES9, một vấn đề về cú pháp web không được hỗ trợ cho tài nguyên web được báo cáo.
  • Sử dụng bộ kiểm tra giải pháp không đảm bảo rằng quá trình nhập giải pháp sẽ thành công. Việc kiểm tra phân tích tĩnh được thực hiện đối với giải pháp không biết trạng thái được cấu hình của môi trường đích và việc nhập thành công có thể phụ thuộc vào các giải pháp hoặc cấu hình khác trong môi trường.

Chạy trình kiểm tra giải pháp

  1. Đăng nhập vào Power Apps.

  2. Trong ngăn bên trái, hãy chọn Giải pháp. Nếu không thấy mục này trong ngăn bảng điều khiển bên, hãy chọn …Thêm rồi chọn mục bạn muốn.

  3. Bên cạnh giải pháp không được quản lý mà bạn muốn phân tích, hãy chọn ..., trỏ đến Trình kiểm tra giải pháp rồi chọn Chạy.

    Lệnh chạy trình kiểm tra giải pháp.

  4. Nút lệnh Trình kiểm tra giải pháp có chỉ báo tải và bạn sẽ nhận thấy Đang chạy… trong cột Kiểm tra giải pháp của danh sách Giải pháp.

    Trạng thái trình kiểm tra giải pháp.

    Lưu ý những điều sau đây:

    • Trình kiểm tra giải pháp có thể mất một vài phút để hoàn tất quá trình phân tích.

    • Bạn sẽ nhận được thông báo qua email và thông báo trong vùng Thông báo của trang web Power Apps khi quá trình kiểm tra hoàn tất.

  5. Xem báo cáo khi quá trình kiểm tra hoàn tất.

Hủy quá trình kiểm tra

Sau khi gửi nội dung kiểm tra giải pháp trong môi trường của mình, bạn có thể hủy quá trình kiểm tra thông qua ngăn trạng thái ở phía trên bên phải của trang Giải pháp.

Khi bạn hủy, quá trình kiểm tra giải pháp sẽ ngừng chạy và trạng thái kiểm tra giải pháp sẽ trở về trạng thái trước đó.

Trạng thái trình kiểm tra giải pháp

Sau khi cài đặt trình kiểm tra giải pháp trong môi trường của mình, bạn có thể sử dụng cột Kiểm tra giải pháp trong danh sách Giải pháp. Cột này hiển thị trạng thái phân tích giải pháp cho một giải pháp.

Tiểu bang Mô tả
Chưa chạy Giải pháp chưa được phân tích.
Đang chạy Giải pháp đang được phân tích.
Không thể hoàn tất Đã yêu cầu phân tích giải pháp nhưng chưa hoàn tất quá trình phân tích.
Kết quả của ngày và tháng Đã hoàn tất quá trình phân tích giải pháp và có thể tải xuống kết quả.
Không thể hoàn tất. Kết quả của ngày và tháng Chưa hoàn tất yêu cầu phân tích gần nhất. Có thể tải xuống kết quả thành công gần nhất.
Được Microsoft kiểm tra Giải pháp này được Microsoft quản lý. Không được phép phân tích những giải pháp này.
Được Nhà phát hành kiểm tra Giải pháp này được bên thứ ba quản lý. Hiện không thể phân tích các giải pháp này.

Xem xét báo cáo kiểm tra giải pháp

Khi hoàn tất kiểm tra giải pháp, bạn có thể xem báo cáo phân tích trong cổng thông tin, hoặc bạn có thể tải báo cáo xuống từ trình duyệt web của mình. Trong cổng thông tin, bạn có các tùy chọn sắp xếp kết quả theo Vấn đề, Vị trí hoặc theo Mức độ nghiêm trọng và xem thông tin chi tiết về các vấn đề được phát hiện trong giải pháp của bạn.

  1. Trong ngăn bên trái, hãy chọn Giải pháp. Nếu không thấy mục này trong ngăn bảng điều khiển bên, hãy chọn …Thêm rồi chọn mục bạn muốn.

  2. Bên cạnh giải pháp không được quản lý mà bạn muốn tải báo cáo công cụ kiểm tra giải pháp xuống, hãy chọn ..., trỏ đến Trình kiểm tra giải pháp rồi chọn Xem kết quả.

  3. Chọn một vấn đề để xem chi tiết và hướng dẫn cách giải quyết.

    Xem kết quả công cụ kiểm tra giải pháp.

Các kết quả của trình kiểm tra giải pháp cũng có sẵn để tải xuống. Tệp zip kiểm tra giải pháp được tải xuống thư mục do trình duyệt web của bạn chỉ định. Báo cáo tải xuống ở định dạng Excel và chứa một số kiểu trực quan và cột giúp bạn xác định tác động, loại và vị trí của từng vấn đề phát hiện thấy trong giải pháp. Ngoài ra, một hướng dẫn chi tiết về cách giải quyết vấn đề cũng được cung cấp.

  1. Trong ngăn bên trái, hãy chọn Giải pháp. Nếu không thấy mục này trong ngăn bảng điều khiển bên, hãy chọn …Thêm rồi chọn mục bạn muốn.
  2. Bên cạnh giải pháp không được quản lý mà bạn muốn tải xuống báo cáo công cụ kiểm tra giải pháp, hãy chọn ..., trỏ đến Trình kiểm tra giải pháp rồi chọn Tải xuống kết quả.
  3. Tệp zip kiểm tra giải pháp được tải xuống thư mục do trình duyệt web của bạn chỉ định.

Dưới đây là bảng tóm tắt từng cột trong báo cáo.

Cột trong báo cáo Nội dung mô tả Áp dụng cho thành phần
Sự cố Tiêu đề vấn đề được phát hiện trong giải pháp. Tất cả
Danh mục Việc phân loại vấn đề được xác định, chẳng hạn như Hiệu suất, Khả năng bảo trì, Cách sử dụng, Khả năng hỗ trợ, Thiết kế, Bảo mật, Khả năng tiếp cận hoặc Nâng cấp mức độ sẵn sàng. Tất cả
Mức độ Thể hiện tác động tiềm ẩn của vấn đề được phát hiện. Các loại tác động có sẵn là Nghiêm trọng, Cao, Trung bình, ThấpThông tin. Tất cả
Hướng dẫn Liên kết đến bài viết trình bày chi tiết vấn đề, tác động và giải pháp. Tất cả
Thành phần Thành phần giải pháp nơi vấn đề được phát hiện. Tất cả
Location Vị trí và/hoặc tệp nguồn của thành phần nơi vấn đề được phát hiện, như tên tệp JavaScript hoặc tổ hợp. Tất cả
Dòng # Tham chiếu số dòng của vấn đề trong thành phần tài nguyên web bị ảnh hưởng. Các tài nguyên web
Mô-đun Tên mô-đun nơi vấn đề được phát hiện trong tổ hợp. Hoạt động dòng công việc tùy chỉnh
Loại Loại vấn đề được phát hiện trong tập hợp. Hoạt động dòng công việc tùy chỉnh
Thành viên Thành phần của vấn đề được phát hiện trong tập hợp. Hoạt động dòng công việc tùy chỉnh
Câu lệnh Cấu hình hoặc câu lệnh mã gây ra vấn đề. Tất cả
Nhận xét Thông tin chi tiết về vấn đề bao gồm các bước giải quyết cấp cao. Tất cả

Chạy cục bộ các quy tắc của trình kiểm tra giải pháp

Bạn có thể chạy các quy tắc của trình kiểm tra giải pháp trong môi trường phát triển của mình để phát hiện các vấn đề sớm hơn nhiều khi bạn tạo tài nguyên giải pháp của mình. Điều này hiện được hỗ trợ cho các tài nguyên web (JavaScript và TypeScript). Để biết thêm chi tiết, hãy truy cập gói NPM @microsoft/eslint-plugin-power-apps.

Quy tắc phương pháp tốt nhất được trình kiểm tra giải pháp sử dụng

Bảng sau liệt kê loại thành phần, mô tả quy tắc, mức độ nghiêm trọng và danh mục. Các vi phạm nghiêm trọng sẽ bị chặn hoặc cảnh báo khi đặt cấu hình để thực thi trình kiểm tra giải pháp với môi trường được quản lý. Thông tin thêm: Sử dụng trình kiểm tra giải pháp trong Môi trường được quản lý

Thành phần giải pháp Tên quy tắc Mô tả quy tắc Mức độ Danh mục
Hoạt động của quy trình hoặc phần bổ trợ meta-remove-dup-reg Tránh trùng lặp đăng ký phần bổ trợ Dataverse. Nghiêm trọng Hiệu năng
Hoạt động của quy trình hoặc phần bổ trợ meta-avoid-reg-no-attribute Bao gồm các thuộc tính lọc với đăng ký phần bổ trợ Dataverse. Trung bình Hiệu năng
Hoạt động của quy trình hoặc phần bổ trợ meta-avoid-reg-retrieve Sử dụng thận trọng phần bổ trợ Dataverse đã đăng ký cho thông báo Retrieve và RetrieveMultiple. Trung bình Hiệu năng
Hoạt động của quy trình hoặc phần bổ trợ meta-remove-inactive Xóa cấu hình không hoạt động trong Dataverse. Thấp Khả năng duy trì
Hoạt động của quy trình hoặc phần bổ trợ meta-avoid-crm4-event Không sử dụng giai đoạn đăng ký phần bổ trợ Microsoft Dynamics CRM 4.0. Trung bình Nâng cấp tính sẵn sàng
Hoạt động của quy trình hoặc phần bổ trợ meta-avoid-retrievemultiple-annotation Tránh đăng ký một phần bổ trợ trên RetrieveMultiple của ghi chú. Cao Mức sử dụng
Ứng dụng dựa trên mô hình meta-giấy phép-bán hàng-thực thể-hoạt động Giải pháp chứa các thực thể có thông báo SDK bị hạn chế và hoạt động yêu cầu giấy phép Dynamics 365 hợp lệ. Thấp Cấp phép
Ứng dụng dựa trên mô hình meta-license-fieldservice-customcontrols Giải pháp chứa các điều khiển tùy chỉnh yêu cầu giấy phép Dynamics 365 Field Service hợp lệ. Thấp Cấp phép
Ứng dụng dựa trên mô hình meta-license-fieldservice-thực thể-hoạt động Giải pháp chứa các thực thể có thông báo SDK bị hạn chế và hoạt động yêu cầu giấy phép Dynamics 365 Field Service hợp lệ. Thấp Cấp phép
Tài nguyên web use-async Tương tác với tài nguyên HTTP và HTTPS không đồng thời. Nghiêm trọng Hiệu năng
Tài nguyên web avoid-modals Tránh dùng đối thoại hành động. Cao Khả năng hỗ trợ
Tài nguyên web avoid-dom-form Cao Khả năng hỗ trợ
Tài nguyên web avoid-dom-form-event Cao Khả năng hỗ trợ
Tài nguyên web avoid-crm2011-service-odata Không nhắm mục tiêu điểm cuối Microsoft Dynamics CRM 2011 OData 2.0. Nghiêm trọng Nâng cấp tính sẵn sàng
Tài nguyên web avoid-crm2011-service-soap Không nhắm mục tiêu các dịch vụ Microsoft Dynamics CRM 2011 SOAP. Nghiêm trọng Nâng cấp tính sẵn sàng
Tài nguyên web chủ đề tránh tải Không sử dụng loadTheme API v8 thông thạo. Thấp Khả năng hỗ trợ
Tài nguyên web avoid-browser-specific-api Không sử dụng phần bổ trợ của trình duyệt hoặc API cũ của Internet Explorer. Nghiêm trọng Nâng cấp tính sẵn sàng
Tài nguyên web avoid-unpub-api Cao Khả năng hỗ trợ
Tài nguyên web avoid-window-top Cao Khả năng hỗ trợ
Tài nguyên web avoid-2011-api Không sử dụng mô hình đối tượng Microsoft Dynamics CRM 2011 không còn dùng. Thay vào đó, hãy làm theo hướng dẫn sử dụng API web Dataverse. Cao Nâng cấp tính sẵn sàng
Tài nguyên web use-relative-uri Không sử dụng URL điểm cuối của Dataverse tuyệt đối. Trung bình Khả năng duy trì
Tài nguyên web use-cached-webresource Trung bình Hiệu năng
Tài nguyên web use-client-context Sử dụng ngữ cảnh máy khách. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web use-navigation-api Sử dụng tham số API dẫn hướng. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web use-offline Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web do-not-make-parent-assumption Cao Thiết kế
Tài nguyên web use-org-setting Sử dụng thiết đặt tổ chức. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web use-global-context Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web use-grid-api Sử dụng API lưới. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web use-utility-dialogs Trung bình Mức sử dụng
Tài nguyên web avoid-isActivityType Thay thế phương thức Xrm.Utility.isActivityType bằng Xrm.Utility.gettableMetadata mới và không dùng quy tắc ruy băng. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web meta-avoid-silverlight Tài nguyên web Silverlight không còn được dùng. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web remove-debug-script Tránh bao gồm tập lệnh gỡ lỗi trong môi trường không phát triển. Trung bình Mức sử dụng
Tài nguyên web chế độ sử dụng nghiêm ngặt Sử dụng chế độ nghiêm ngặt khi có thể. Trung bình Mức sử dụng
Tài nguyên web sử dụng-nghiêm ngặt-toán tử Sử dụng toán tử tương đương nghiêm ngặt. Trung bình Mức sử dụng
Tài nguyên web tránh đánh giá Không sử dụng chức năng 'eval' hoặc chức năng tương đương của nó. Nghiêm trọng Bảo mật
Tài nguyên web tránh-với Không sử dụng toán tử 'với'. Cao Hiệu năng
Tài nguyên web loại bỏ cảnh báo Không sử dụng hàm 'alert' hoặc đối tượng hàm tương đương hàm này. Trung bình Mức sử dụng
Tài nguyên web bảng điều khiển loại bỏ Tránh sử dụng các phương pháp trên bảng điều khiển. Trung bình Mức sử dụng
Tài nguyên web avoid-ui-refreshribbon Tránh sử dụng refreshRibbon trong biểu mẫu onload và EnableRule. Nghiêm trọng Hiệu năng
Tài nguyên web use-getsecurityroleprivilegesinfo Tránh dùng userSettings.securityRolePrivileges. Thay vào đó, hãy dùng userSettings.getSecurityRolePrivilegesInfo. Cao Hiệu năng
Tài nguyên web sử dụng-appsidepane-api Sử dụng Xrm.App.sidePanes.createPane thay vì Xrm.Panels.loadPanel. Trung bình Nâng cấp tính sẵn sàng
Tài nguyên web web-sdl-không có cookie Cookie HTTP là một cơ chế lưu trữ phía máy khách cũ với những rủi ro và hạn chế cố hữu. Thay vào đó, hãy sử dụng Web Storage, IndexedDB hoặc các phương pháp hiện đại khác. Trung bình Bảo mật
Tài nguyên web web-sdl-no-document-domain Việc ghi vào thuộc tính document.domain phải được xem xét để tránh bỏ qua việc kiểm tra cùng nguồn gốc. Việc sử dụng các tên miền cấp cao nhất như azurewebsites.net đều bị nghiêm cấm. Trung bình Bảo mật
Tài nguyên web web-sdl-no-document-write Nên tránh các lệnh gọi tới document.write hoặc document.writeln thao tác DOM trực tiếp mà không cần bất kỳ sự dọn dẹp nào. Thay vào đó, hãy sử dụng document.createElement() hoặc các phương thức tương tự. Trung bình Bảo mật
Tài nguyên web phương thức web-sdl-no-html Các cuộc gọi trực tiếp đến phương thức html() thường xuyên (ví dụ: trong khung jQuery) thao tác DOM mà không có bất kỳ sự dọn dẹp nào và nên tránh. Thay vào đó, hãy sử dụng document.createElement() hoặc các phương thức tương tự. Trung bình Bảo mật
Tài nguyên web web-sdl-no-inner-html Việc gán cho các thuộc tính InnerHTML hoặc OutsideHTML thao tác trực tiếp với DOM mà không cần bất kỳ sự dọn dẹp nào và nên tránh. Thay vào đó, hãy sử dụng document.createElement() hoặc các phương thức tương tự. Trung bình Bảo mật
Tài nguyên web web-sdl-no-không an toàn-url Bạn nên thay thế các giao thức không an toàn như HTTP hoặc FTP bằng giao thức được mã hóa tương ứng của những giao thức đó (HTTPS, FTPS) để tránh gửi dữ liệu có thể mang tính nhạy cảm qua mạng không đáng tin cậy ở dạng văn bản thuần. Trung bình Bảo mật
Tài nguyên web web-sdl-no-msapp-exec-không an toàn Lệnh gọi đến MSApp.execUnsafeLocalFunction() sẽ bỏ qua bước xác thực hành vi chèn tập lệnh và nên tránh sử dụng. Trung bình Bảo mật
Tài nguyên web web-sdl-no-postmessage-star-origin Luôn cung cấp nguồn gốc đích cụ thể, không phải * khi gửi dữ liệu đến các cửa sổ khác bằng postMessage để tránh rò rỉ dữ liệu bên ngoài ranh giới đáng tin cậy. Trung bình Bảo mật
Tài nguyên web web-sdl-no-winjs-html-không an toàn Các lệnh gọi tới WinJS.Utilities.setInnerHTMLUnsafe() và các phương thức tương tự không thực hiện bất kỳ xác thực đầu vào nào và nên tránh. Thay vào đó hãy sử dụng WinJS.Utilities.setInnerHTML(). Trung bình Bảo mật
Ứng dụng Bảng tùy biến ứng dụng-công thức-vấn đề-cao Tham khảo tham chiếu công thức Power Apps để biết thêm chi tiết. Nghiêm trọng Thiết kế
Ứng dụng Bảng tùy biến ứng dụng-công thức-vấn đề-phương tiện Tham khảo tham chiếu công thức Power Apps để biết thêm chi tiết. Trung bình Thiết kế
Ứng dụng Bảng tùy biến ứng dụng-công thức-vấn đề-thấp Tham khảo tham chiếu công thức Power Apps để biết thêm chi tiết. Thấp Thiết kế
Ứng dụng Bảng tùy biến ứng dụng-sử dụng-độ trễ-đầu vào văn bản Sử dụng tải chậm trong một số trường hợp để cải thiện hiệu suất. Trung bình Hiệu năng
Ứng dụng Bảng tùy biến điều khiển ứng dụng giảm màn hình Giới hạn số lượng điều khiển ứng dụng để cải thiện hiệu suất. Trung bình Hiệu năng
Ứng dụng Bảng tùy biến ứng dụng bao gồm-có thể truy cập-nhãn Sử dụng nhãn rõ ràng để cải thiện khả năng tiếp cận ứng dụng. Trung bình Trợ năng
Ứng dụng Bảng tùy biến ứng dụng-bao gồm-đầu vào thay thế Đảm bảo tất cả các yếu tố tương tác có thể truy cập được với các đầu vào thay thế. Trung bình Trợ năng
Ứng dụng Bảng tùy biến ứng dụng-tránh-tự khởi động Tránh sử dụng tự động khởi động trên trình phát trong một ứng dụng. Trung bình Trợ năng

Xem thêm

Cách làm tốt nhất và hướng dẫn cho Dataverse
Phương pháp thực hiện tốt nhất và hướng dẫn cho các ứng dụng dựa trên mô hình
Các vấn đề và giải pháp phổ biến của Bộ kiểm tra Giải pháp

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).