Фактически я попытался реализовать Google Markup на наших страницах, чтобы наш пользовательский контроль отображал ниже тип HTML в разделе заголовка страницыПроизводительность сервера снижается, когда мы пытаемся получить некоторые данные из таблицы трейдеров Tridion 2009 LINK_INFO с использованием C# 2.0
<link rel="alternate" hreflang="en-GB" href="http://www.mysite.com/english/index.aspx" />
<link rel="alternate" hreflang="de-DE" href="http://www.mysite.com/de/german/index.aspx" />
<link rel="alternate" hreflang="en-DE" href="http://www.mysite.com/de/english/index.aspx" />
<link rel="alternate" hreflang="ru-RU" href="http://www.mysite.com/ru/russian/index.aspx" />
<link rel="alternate" hreflang="en-RU" href="http://www.mysite.com/ru/english/index.aspx" />
<link rel="alternate" hreflang="fr-FR" href="http://www.mysite.com/fr/french/index.aspx" />
<link rel="alternate" hreflang="it-IT" href="http://www.mysite.com/it/italian/index.aspx" />
<link rel="alternate" hreflang="ja-JP" href="http://www.mysite.com/jp/japanese/index.aspx" />
<link rel="alternate" hreflang="ko-KR" href="http://www.mysite.com/kr/korean/index.aspx" />
<link rel="alternate" hreflang="pt-BR" href="http://www.mysite.com/br/portuguese/index.aspx" />
<link rel="alternate" hreflang="zh-Hans-CN" href="http://www.mysite.com/cn/chinese/index.aspx" />
<link rel="alternate" hreflang="en-US" href="http://www.mysite.com/us/english/index.aspx" />
<link rel="alternate" hreflang="en-GB" href="http://www.mysite.com/uk/english/index.aspx" />
<link rel="alternate" hreflang="en-AU" href="http://www.mysite.com/au/english/index.aspx" />
<link rel="alternate" hreflang="en-AE" href="http://www.mysite.com/ae/english/index.aspx" />
В выше HTML вы можете найти эту часть «/ae/english/index.aspx, /au/english/index.aspx и т.д.» HTML от брокера LINK_INFO таблицы, эта реализация работала нормально, пока мы не пошли в прямом эфире веб-сайт с базой данных LIVE broker, и когда мы включили эту функциональность в LIVE, наша производительность сервера была убита из-за хитов в базе данных брокера, и это похоже на блокировку таблицы LINK_INFO, так как наш сайт имеет 1,5 миллиона в день хитов, выше функциональности работает, как ниже:
- Всякий раз, когда какой-либо веб-страница загружается он называет наш прокси-сервер и прокси-вызовы нашего веб-сервиса и вебсервис называет нашу процедуру SQL, которая идет в LINK_INFO таблицу и вынимает список результата на основе PageId перешел к процедуре SQL ,
- Результат процедуры SQL, возвращаемый xml, затем передается в мой элемент управления, где мой XSLT использует его и отображает выше полного HTML.
Кажется, что-то ошибочно, пожалуйста, предложите, что для достижения этой выше функциональности может быть другой способ, не касаясь базы данных брокера. Написание страницы СОБЫТИЕ или пользовательская настройка Deployer помогут?
Пожалуйста, предложите !!
Примечание: Мы используем TRIDION 2009
EDIT: Брокер SQL Процедура, как показано ниже:
ALTER PROCEDURE [dbo].[GETDataFromLinkInfo]
-- Add the parameters for the stored procedure here
(@PageID INT)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT DISTINCT [PUBLICATION_ID] AS n,
[URL] AS u
FROM [LINK_INFO] WITH(NOLOCK)
WHERE Page_ID = @PageID
AND Component_Template_Priority > 0
AND PUBLICATION_ID NOT IN(232, 481)
ORDER BY URL
FOR XML RAW ('p'), ROOT ('ps');
RETURN
END
Есть ли причина, по которой вы запрашиваете Брокерскую БД с использованием SQL, а не используя API-интерфейс кэширования ссылок? –
Привет, Крис благодарит за ваш ответ, на самом деле у нас будут разные данные для каждой страницы, и мы передаем pageID для брокера, и на основе pageID он возвращает XML из 130 строк (в нашем случае), поскольку у нас есть 130 публикации в тридионе. Как мы можем использовать cachable linking api на этом .. Пожалуйста, предложите –
Любые причины, почему этот вопрос оценивается минусом –