2012-10-25 7 views
8

Tôi đang cố gắng lấy danh sách những người dùng có sẵn từ Dịch vụ cốt lõi. Tôi dành khá nhiều thời gian xem xét các phương pháp dịch vụ có sẵn và rõ ràng nhất dường như là điều này:Tôi làm cách nào để có danh sách người dùng với Dịch vụ cốt lõi?

TrusteesFilterData trusteesFilterData = new TrusteesFilterData 
             { 
              BaseColumns = ListBaseColumns.IdAndTitle, 
              IsPredefined = false, 
              ItemType = ItemType.User 
             }; 
XElement listTrustees = client.GetSystemWideListXml(trusteesFilterData); 

Tuy nhiên, mã ném một lỗi khi gọi GetSystemWideListXml - Unable to create Abstract Class. Tôi có sử dụng cách tiếp cận chính xác không và nếu có thì tôi đang làm gì sai? Nếu không, tôi nên làm gì để thay thế?

Trả lời

9

Hãy nhìn vào các mẫu trong dự án mã nguồn mở cho thông báo công việc

http://code.google.com/p/tridion-notification-framework/source/browse/NotificationService/NotificationService/Worker.cs

dòng 22-26 trong phương pháp DoWork() nên làm những gì bạn cần - Tôi nghĩ rằng cần phải sử dụng UsersFilterData thay hơn TrusteesFilterData

var users = client.GetSystemWideList(new UsersFilterData { BaseColumns = ListBaseColumns.IdAndTitle, IsPredefined = false }); 
+0

Thực tế, TrusteesFilterData là lớp trừu tượng mà bạn không nên khởi tạo - vì lỗi này rõ ràng :) –