2012-02-13 19 views
0

我已經構建了一個Web應用程序,該應用程序顯示使用asp.net數據控件的客戶列表,每個客戶都可以更新,問題是應用程序一次被多個用戶使用,例如5-6個,問題是當5個用戶同時登錄時,他們可以查看同一個客戶列表,並且可以在相似時間對同一客戶進行更改,限制多個用戶同時向datalist提交更改(asp.net)

是否有可能限制用戶查看其他用戶正在查看的一個客戶,例如,如果客戶1正在被用戶1觀看和修改,則用戶2,3,4將無法在他們的列表中看到客戶1顧客。 任何幫助或教程將不勝感激

回答

1

你有2個選擇:悲觀併發或樂觀併發。

當用戶查看它時,悲觀併發鎖定實體。在此期間沒有其他人可以訪問該實體。這項工作的規模很小,但很快就會成爲大型系統的瓶頸。

樂觀併發使用版本號。任何用戶都可以查看數據。當更改數據時,版本號必須匹配,否則發生更改。那麼您可以通知用戶更改並讓他們決定取消或更新。這個比例非常好,但需要更多的工作來處理版本衝突。

+0

在我的情況下,我想隱藏用戶的整個記錄​​,如果該記錄是由其他用戶顯示的 – 2012-02-13 12:10:34

+0

我不知道我會走那麼遠。用戶應該能夠看到系統的當前狀態,無論是否正在編輯信息。事實上,這是一個Web應用程序使事情複雜化,因爲Web沒有狀態,並且鎖定實體以確定時間量是一個壞主意。也許一個視覺指標記錄被鎖定將是一個更好的起點。所有人都告訴我會選擇樂觀的併發。 – 2012-02-13 17:49:45

相關問題