Проблема во время рендеринга с использованием C# в составном шаблоне

Внезапная проблема возникла в одной из сред при публикации/рендеринге определенного фрагмента кода в Compound Templating. Это среда DTAP, и проблема возникает только в рабочей среде (как всегда ;-), где есть две машины CMS и два издателя. Все показывают одинаковое поведение.

Код, который вызывает проблему:

StructureGroup SG = (StructureGroup)engine.GetObject("/webdav/pub/root/etc/etc...");

Ошибка в конструкторе шаблонов:

System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.77.66.136:80 
   bij System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 
   bij System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) 
   bij System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) 
   --- Einde van intern uitzonderingsstackpad --- 
   bij System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) 
   bij System.Net.HttpWebRequest.GetRequestStream() 
   bij System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 
   bij Tridion.ContentManager.Templating.CompoundTemplates.DomainModel.Proxy.CompoundTemplateWebService.GetDebuggingState(String debuggerSessionId, String lastLogMessageId) 
   bij Tridion.ContentManager.Templating.CompoundTemplates.DomainModel.DebugObject.Start(Template template, Object debugItem, LoggingOptions loggingOptions) 

Что странно, мы на самом деле не пытаемся добраться до внешнего сервера. По крайней мере, так это выглядит. Возможно, я что-то упускаю в работе Tridion. Я вполне уверен, что это проблема безопасности, но я не знаю, где искать.


person Hendrik Beenker    schedule 07.05.2012    source источник
comment
Похоже, вы получили IP-адрес в трассировке стека. Пропингуйте его и узнайте, какой это сервер в вашей архитектуре.   -  person Nickoli Roussakov    schedule 07.05.2012
comment
Можете ли вы указать вашу версию SDL Tridion?   -  person Chris Summers    schedule 07.05.2012
comment
Я подозреваю, что ваша ошибка в конструкторе шаблонов? TOM.NET нигде не открывает удаленное соединение, и ваша ошибка связана с сетевым соединением... Можете ли вы попробовать выполнить предварительный просмотр или публикацию в CMS?   -  person Nuno Linhares    schedule 07.05.2012
comment
Спасибо за комментарии, ребята! Это заставило меня понять, что есть две не связанные между собой проблемы. Один был о месте, откуда я пытался запустить Конструктор шаблонов, другой был связан с каким-то непонятным циклом ссылок, созданным контентом в Конструкторе шаблонов. Чего я, конечно же, никогда не должен был допустить!   -  person Hendrik Beenker    schedule 07.05.2012
comment
Привет Хендрик, если вы ответите на свой вопрос, вы можете принять это и получить несколько голосов!   -  person Rob Stevenson-Leggett    schedule 08.05.2012


Ответы (1)


Я разобрался с проблемой ошибки с помощью советов Николи и Нуно.

Эта ошибка появляется, когда построитель шаблонов пытается запуститься из места в сети, у которого нет доступа к коду. Я думал, что это связано с методом engine.GetObject, поскольку ошибка появлялась только при запуске этого метода.

В конце тоже была ошибка в коде, но это было связано с плохим рекурсивным методом.

person Hendrik Beenker    schedule 08.05.2012