2014-10-04 42 views
0

我正在處理包含父頁面的項目,此父頁面包含兩個連接到另外兩個子頁面的iframe標記。我需要保護一個時間實例,它應該是這樣的:在第一個子頁面中,它應該被鎖定,並且當其他子asp頁面讀取時應該被釋放。任何人都可以給我一個建議嗎?如何保護多個ASP.NET頁面使用的資源?

[WebMethod] 
    public static void SetCreatioTimeAndID(DateTime CreationTime, string ID) 
    { 
     ResourceProtector.Sem.WaitOne(); 
     SessionHelper.CreationTimeFromEvents = CreationTime; 
     SessionHelper.EventID = ID; 
    } 

,這裏是jQuery函數上的方法調用:

function EventGrid_ItemSelected(sender, e) { 
     var item = e.get_item(); 
     var creationTime = item.Data[0][1]; 
     var id = item.Data[10]; 

     PageMethods.SetCreatioTimeAndID(creationTime, id, OnSuccess); 
    } 

    function OnSuccess(response, userContext, methodName) { 
    } 

由於gridview的(ComponentArt網格)使用im不必須的服務器側的事件時的行是selecteddoesnt,我必須ouse客戶端事件,檢索行被選中。然後我調用服務器端函數來存儲該行的日期。如果你喜歡這是整個場景: 當用戶在gridview上選擇一行時,我必須從頁面中的jquery函數調用服務器函數。問題是這個服務器功能必須是靜態的。因此,我將它存儲在一個靜態的DateTime對象中,所以當用戶按下一個按鈕時,關於該DateTime對象的信息被加載。問題是如果另一個客戶端連接到服務器,並選擇一個行,即時聯繫無線DateTime objecdt是

+0

究竟是什麼樣的情況下,你如何分享它? – 2014-10-04 17:11:49

+0

它是一個DateTime對象。其中一個asp頁面在用戶點擊網格視圖中的一行時設置它。我希望這個日期時間對象保持不動,直到它在另一個asp頁面中的方法中使用,因爲如果在使用這個DateTime實例之前anoother客戶端連接,新客戶端不能搞砸了。所以使用得到錯誤的inf infove – 2014-10-04 17:33:35

+0

另一件事id想知道的是,如果不同的客戶端連接到asp頁面;他們是否有自己的線程運行?我mena服務器創建一個新的線程爲新的全新實例的cleint? – 2014-10-04 17:37:59

回答