Tôi đang cố gắng tìm ra cách kiểm tra xem một thành phần có rỗng hay không (ví dụ: không tìm thấy trong Tridion) trong phần phụ trợ tùy chỉnh. Tôi chỉ không thấy làm thế nào để kiểm tra này, khác hơn là bắt lỗi.Session.GetObject trong Tridion 2011 trả về thành phần cho mục không tồn tại
Component comp = (Component)session.GetObject(base.ComponentUri);
if (component != null)
{
bool isCheckedOut = component.IsCheckedOut;
}
else
{
// how do I get in here!
}
Tôi chắc chắn 100% uri là chính xác ('tcm: 113-438134') và 100% chắc chắn rằng không có mục nào trong Tridion với URI đó. Đoạn mã trên sẽ ném ra một lỗi tại component.IsCheckedOut:
The item tcm:113-438134-16 does not exist.
Làm thế nào để kiểm tra sự tồn tại của một mục Tridion? Tôi đã thử đặt các diễn viên ở cuối, mà không giúp được gì nhiều:
Component comp = session.GetObject(base.ComponentUri) as Component;
và tôi đã cố gắng không đúc ở tất cả nhưng sử dụng một IdentifiableObject, mà cũng không thực hiện bất kỳ sự khác biệt. Bất cứ ai cũng biết cách làm điều này?
Thực ra, tôi đã không hoàn toàn mong đợi điều đó **;) **. Có phải vì TOM.NET vẫn là 'chỉ đọc'? –
đề xuất của bạn hoạt động, nhân tiện, tnx! –
Không, đó là vì tải TOM.NET thực sự tải nhiều hơn chỉ là một giao diện vào Tridion - nó tải Tridion trong quá trình của bạn. Toàn bộ nó. Với bộ nạp sự kiện của nó, và quản lý hàng đợi, và kết nối cơ sở dữ liệu tổng hợp, và đa luồng, và trường hợp COM, và động cơ templating, vv chính thức blurb đây: http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_19AF6C2427DF4781A866981FA8D62192 –