2012-02-23 64 views
3

我有一個asp.net應用程序與C#代碼隱藏。這個應用程序是一個調度系統,它允許用戶創建一個'騎'(存儲在一個微軟的SQL數據庫),這是通過各種進程修改,因爲它的狀態從等待> enroute>完成等。我試圖找到最好的在修改之前'保存'該'搭乘'db行的前一狀態,從而使用戶能夠'撤銷'其先前的變化。什麼可能是完成這個最好的構造?我考慮過使用視圖狀態,但以後還會有很多很多的「遊樂設施」必須有一個更好的辦法..最好的方法來存儲數據庫項目的以前的狀態

回答

1

我會做到這一點通過創建一個「歷史」表的數據庫內。在「撤銷」時,只需將數據恢復到已保存的歷史記錄。

+0

這可能確實是要走的路。我是ASP.NET新手,希望確保我不會錯過我能做的其他事情。謝謝。 – SHeinema 2012-02-23 06:00:13

0

撤消狀態是暫時的(它們只能在他們正在進行當前的騎行時撤消),或者是永久的(他們可以離開應用程序,回到他們一年前創建的騎行中,然後按撤消) ?

前者將是視圖狀態的好候選者。後者需要一個歷史表,如@ Induster的答案。

我懷疑狀態量會顯着影響服務器性能。測試一下,看看!

+0

我最初認爲短暫的就足夠了,但考慮到我的用戶,我認爲永久可能是一條路。或者,也許我可以解決這個問題,我的db的大小加倍,限制'撤銷'操作到24小時,然後刪除歷史表中比這更舊的數據。感謝您的意見。 – SHeinema 2012-02-23 05:59:15

相關問題