其實我試圖在我們的頁面上實現Google標記,以便我們的用戶控件將在頁面標題部分服務器性能下降,而我們試圖從Tridion 2009經紀人獲取一些數據使用C#2.0的LINK_INFO表使用C#2.0
以下呈現HTML類型<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你可以找到HTML「/ae/english/index.aspx,/au/english/index.aspx等」從經紀人LINK_INFO表的這個部分,這個實施工作得很好,直到我們去LIVE網站與LIVE經紀人數據庫,當我們在LIVE上啓用此功能時,我們的服務器性能因代理數據庫命中而被殺害,並且由於我們的網站每天有150萬次點擊,似乎鎖定LINK_INFO表,因此上述功能的工作方式類似於如下:
- 每當任何網站頁面加載它調用我們的代理和代理調用我們的互聯網服務和Web服務調用我們的SQL程序都到LINK_INFO表,並拿出結果的列表PAGEID的基礎上傳遞到SQL過程。
- SQL Procedure返回的xml結果然後傳遞給我的控件,我的XSLT使用它並呈現出完整的HTML。
看來出現了一些問題,請大家建議是否可以通過其他方式實現上述功能,而無需觸摸代理數據庫。編寫頁面事件或定製部署者會有所幫助?
請建議!!
注:我們正在使用外表套上2009年
編輯:經紀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查詢Broker數據庫,而不是使用可緩存的鏈接API? –
嗨克里斯感謝您的回覆,實際上我們將爲每個頁面提供不同的數據,並且我們向代理傳遞pageID,並且在pageID的基礎上返回一個130行的XML(在我們的例子中),因爲我們有130 tridion的出版物。我們怎樣才能使用這個可連接的cpi的API ..請建議 –
這個問題的原因爲什麼等級minus –