2012-05-17 23 views
6

Trong lược đồ cấp phép WinForms toàn bộ trong .NET được xoay quanh LicenseManagerLicenseProvider như đã đề cập khá độc đáo trong this article.Giấy phép thành phần của bên thứ ba hoạt động như thế nào trong WPF?

Tôi có hình thức đơn giản thử nghiệm trong WinForm (bị bỏ cấp phép ButtonEdit DevExpress trong đó) sử dụng mã dưới đây tôi có thể thấy rằng nó là nhận được thông tin giấy phép tốt:

var license = LicenseManager.Validate(typeof(ButtonEdit), this);

Tôi cũng có thể thấy rằng nó có tự động đã tạo tệp license.licx và được thêm vào dự án của tôi.

Vì vậy, tôi đã cố gắng tương tự bằng cách thả điều khiển DevExpress/Telerik WPF vào cửa sổ WPF mẫu của tôi và tôi có thể thấy rằng tệp license.licx KHÔNG được tạo tự động.

Vì vậy, nếu tôi cố gắng chạy cùng một dòng trong WPF, license sẽ trả về giá trị rỗng. Điều đó có nghĩa là nó không sử dụng toàn bộ kiến ​​trúc LicenseManager trong WPF.

Bằng cách nào sử dụng nó để kiểm tra giấy phép cho thành phần bên thứ 3?

Có vẻ như ai đó đã báo cáo số bug in VS 2010 in regards to this, nhưng tôi đang sử dụng VS2010.

Trả lời

1

WPF cũng sử dụng cùng một cơ chế. Bạn chỉ cần áp dụng thuộc tính LicenseProvider cho lớp học của mình.

Tệp licx có thể không được tạo trong dự án của bạn do một số lý do khác.

+0

không hoàn toàn chắc chắn, tại sao LicenceManager không nhận giấy phép cho các điều khiển WPF DevExpress/Telerik giống như nó đã làm cho những người dùng WinForms? –

1

Chỉ phát hiện ra rằng một trong các điều khiển bên thứ 3 (Telerik) mà tôi đã sử dụng để thử nghiệm works without license keys (cuộn đến phần "Giấy phép nhà phát triển của bạn như thế nào?").

Kiểm tra DevExpress và vé hỗ trợ được nâng lên cho Telerik và họ đã xác nhận rằng họ không sử dụng licx cho Điều khiển WPF.

Các vấn đề liên quan