2012-02-29 15 views
1

我需要在一個頁面週期內緩存一個非常重要的東西。 我想使用一個唯一的請求id像相關性ID。sharepoint中頁面請求的唯一標識

如何在SharePoint中獲得這樣的ID?

+1

爲什麼要緩存鍵控CorrelationID?它對於每個頁面請求都是獨一無二的,那麼緩存什麼東西永遠不會再被使用呢? – Ryan 2012-03-01 08:16:33

+0

一頁在不同的控件中加載大量相同的數據。所以我需要緩存它。我想用CorrelationID來達到這個目的 – Evgeny 2012-03-02 13:49:41

回答

2

見這個優秀的博文有關使用SharePoint相關ID的詳細信息:http://www.wictorwilen.se/Post/Working-with-SharePoint-2010-Correlation-ID-in-PowerShell-and-code.aspx

更新: 這是他是如何做:

[DllImport("advapi32.dll")] 
public static extern uint EventActivityIdControl(uint controlCode, ref Guid activityId); 
public const uint EVENT_ACTIVITY_CTRL_GET_ID = 1; 

然後在使用它的代碼就像下面,也許一個捕獲聲明:

Guid g = Guid.Empty; 
EventActivityIdControl(EVENT_ACTIVITY_CTRL_GET_ID, ref g); 
this.Controls.Add(new Label { 
    Text = string.Format("An error occurred with correlation id {0}", g) 
}); 
+0

我沒有看到答案。如何在代碼中獲取此ID? – Evgeny 2012-03-02 13:51:06

+1

查看我更新的代碼答案。你現在可以看到如何使用它? – 2012-03-05 10:17:56

+0

謝謝。這部分工作 – Evgeny 2012-03-13 14:47:57