2016-04-15 44 views
1

我已經創建了一個在每個頁面的頁面加載事件中使用ajax調用的web服務(.asmx)。它基本上用來記錄網站用戶的行爲。我將這個捕獲的信息序列化成一個xml文件。這是我使用的方法。第三個函數用於通過調用正確的函數來序列化和反序列化。我已經對此函數進行了鎖定。但是,即使在兩個或多個用戶同時瀏覽數據被覆蓋的情況下,問題仍然存在。無法阻止使用鎖定web服務中的併發文件訪問

我打電話這樣的功能:

List<UserPath> UPL = saveandfetch<List<UserPath>>("D",Server.MapPath("/UserPath.xml"));//deserialize 

    saveandfetch<List<UserPath>>("S",Server.MapPath("/UserPath.xml"),UPL); //serialize 

我到底做錯了什麼?

+0

鎖櫃是'對象'類型的靜態對象嗎? – Lesmian

+0

不是它的靜態對象。 –

回答

2

爲了正確地鎖定您的更衣室對象應聲明爲:

static object locker = new object(); 

這種方式將創建它只有一次,在所有的函數調用中使用。

+0

嘿它工作的感謝 –