2015-04-28 42 views
1

我有一個合理的DB(SQL SERVER)網站。 我有一張表,其中有20個列有100,000個(不完全)記錄。 在我的網站上,有一個頁面可以查看錶格(包含分頁,排序和過濾),每次記錄100條記錄,所有字段均可編輯。 每秒鐘都會進行更改,如何保持表格每個客戶端的同步,包括排序,篩選,頁碼?提前致謝。跨所有Web用戶同步數據

+0

您是否將編輯後的內容保存到數據庫? –

+0

在你的後端寫什麼? –

+0

MVC4,是的,所有的更改都通過restful API保存 –

回答

0

您是否考慮使用WebSockets?它們是向瀏覽器客戶端推送實時通知的絕佳方式。我沒有使用過MVC4,但是我發現了這個鏈接,可能會讓這個想法發光:http://blogs.msdn.com/b/youssefm/archive/2012/07/17/building-real-time-web-apps-with-asp-net-webapi-and-websockets.aspx

WebSockets幫助我在瀏覽器之間同步數據。

這個想法很簡單。在服務器端,你將有一個處理器將數據廣播到所有的客戶端監聽器。在客戶端,您將向WebSocket處理程序發送新數據,屆時WebSocket處理程序將向所有客戶端廣播該數據,並且您的表將同步。但請注意您的請求以及它們的發送方式。如果您在每個keyup事件中發送新的請求或不正確,您可以淹沒您的服務器。但這是另一個問題。

這裏是一個video教程我剛剛發現

希望這有助於你。

乾杯!

+0

我有一個套接字庫,但我不能讓用戶每秒刷新整個表格(正如我所說的,表格每秒更新一次) –

+0

您還沒有刷新整個表格。只是被修改的行。您可以爲每個單元格,列或行分配生成的UUID標識並分別進行更新。 –

+0

我不知道有多少用戶或一次完成多少剪輯。我猜測用戶只能同時在幾個單元上工作。這樣,您可以在更新表格時更新部分表格。這不是一個容易實現的邏輯,但我認爲它可以通過WebSocket進行備份來完成這項工作。 –