好問題。對於每個頁面請求的元數據查詢,我會保持謹慎。您可能還需要謹慎將這些數據存儲爲頁面元數據,因爲您需要確保這些值在發佈中的所有頁面/ URL中都是唯一的。
要解決唯一性問題,您可能需要創建一個事件系統,該系統在保存頁面時針對某種索引文件檢查/保存值。
該文件可能是這個樣子:
<?xml version="1.0" encoding="UTF-8"?>
<VanityURLS PublicationID="tcm:0-33-1">
<Page ID="tcm:3-24-64">
<Vanity>/someURL.html</Vanity>
<Vanity>/someotherURL.html</Vanity>
</Page>
<Page ID="tcm:3-25-64">
<Vanity>/someURL.html</Vanity>
<Vanity>/someotherURL.html</Vanity>
</Page>
<VanityURLS>
然後,您可以定期發佈索引文件,並用它來查找請求的URL,並將它們映射到頁面的URI。然後,您可以通過它們的URI加載頁面,或者如果您想要使用現有的代碼,則可以使用鏈接API從URI獲取URL。然後,您可以將該值傳遞給GetPageMetaByURL()方法。