Estoy tratando de averiguar cómo comprobar si un componente es nulo (por ejemplo, no se encuentra en Tridion) en un back-end personalizado. Simplemente no veo cómo comprobar esto, salvo detectar el error.Session.GetObject en Tridion 2011 devuelve componente para artículo no existente
Component comp = (Component)session.GetObject(base.ComponentUri);
if (component != null)
{
bool isCheckedOut = component.IsCheckedOut;
}
else
{
// how do I get in here!
}
estoy 100% seguro de que el URI es correcta ('tcm: 113-438134') y 100% seguro de que no hay ningún elemento en Tridion con ese URI. El código anterior generará un error en component.IsCheckedOut:
The item tcm:113-438134-16 does not exist.
¿Cómo verifico la existencia de un elemento de Tridion? He intentado colocar el molde en el extremo, lo cual no ayuda mucho:
Component comp = session.GetObject(base.ComponentUri) as Component;
y he tratado de no colada a todos, pero el uso de un IdentifiableObject, que tampoco hace ninguna diferencia. ¿Alguien sabe cómo hacer esto?
En realidad, no estaba esperando eso **;) **. ¿Eso es porque TOM.NET sigue siendo de "solo lectura"? –
¡Tu sugerencia funciona, por cierto, TNX! –
No, es porque cargar TOM.NET realmente carga mucho más que solo una interfaz en Tridion: carga Tridion en su proceso. Todo el Con sus cargadores de eventos, y gestión de colas, y agrupación de conexiones de bases de datos, y multi-threading, y las instancias COM, y los motores de plantillas, etc. Anuncio oficial aquí: http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_19AF6C2427DF4781A866981FA8D62192 –