2012-05-08 32 views
6

Tôi đã tạo tham chiếu dịch vụ trong Visual Studio tới CD OData webservice trên SDL Tridion 2011 SP1 và mọi thứ có vẻ hoạt động tốt, nhưng khi tôi yêu cầu thành phần cụ thể có mã như này: ngoại lệLoại đóng Thành phần không có thuộc tính có thể cài đặt IsMultimedia tương ứng

ContentDeliveryService cdService1 = new ContentDeliveryService(new Uri("http://xxx:81/odata.svc")); 
var item = cdService1.Components.Where(p => p.ItemId == 29 && p.PublicationId == 1).First(); 
Console.WriteLine(item.ItemId); 

Nó được ném:

The closed type ConsoleApplication1.CdService.Component does not have a corresponding IsMultimedia settable property. 

có ai biết sửa chữa nóng này?

Trả lời

7

Tôi cho rằng vấn đề là máy chủ gửi cho bạn một thuộc tính mà khách hàng không biết (thuộc tính IsMultimedia). Bạn có thể xác nhận điều này bằng cách sử dụng Fiddler ví dụ để xem phản hồi từ máy chủ. Nó có thể xảy ra nếu các loại thành phần trên máy chủ được đánh dấu là mở (có thể có nhiều tài sản hơn những tuyên bố). Thư viện khách hàng không hỗ trợ các loại mở trực tiếp ngay hôm nay.

Nếu bạn không cần thuộc tính IsMultimedia trên máy khách, bạn có thể chặn lỗi này bằng cách đặt cdService1.IgnoreMissingProperties = true.

Nếu bạn cần thuộc tính IsMultimedia trên máy khách, lớp Thành phần được tạo cho bạn phải là một phần từng phần, do đó bạn có thể thêm thuộc tính IsMultimedia vào nó theo cách thủ công. Sau đó, nó cũng nên làm việc.

3

Dường như đây là lỗi sẽ được khắc phục trong phiên bản tiếp theo. Thiết IgnoreMissingProperties công trình, giải pháp khác là mở Reference.cs tập tin của tài liệu tham khảo này và thay đổi public global::System.Nullable<bool> Multimedia tài sản để IsMultimedia

+0

Tôi có lỗi tương tự khi chơi đùa với các phiên bản trước khi phát hành năm 2011 GA ... –

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